# Backport
This will backport the following commits from `main` to `8.x`:
- [Sustainable Kibana Architecture: Move modules owned by
`@elastic/kibana-visualizations`
(#202754)](https://github.com/elastic/kibana/pull/202754)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2025-01-08T11:19:24Z","message":"Sustainable
Kibana Architecture: Move modules owned by
`@elastic/kibana-visualizations` (#202754)\n\n## Summary\r\n\r\nThis PR
aims at relocating some of the Kibana modules (plugins and\r\npackages)
into a new folder structure, according to the _Sustainable\r\nKibana
Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you
to:\r\n> * Manually fix the errors in the error section below (if there
are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and
`plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint
config files), and update them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
29 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/charts-plugin` |
`src/platform/plugins/shared/charts` |\r\n| `@kbn/data-plugin` |
`src/platform/plugins/shared/data` |\r\n|
`@kbn/event-annotation-listing-plugin`
|\r\n`src/platform/plugins/private/event_annotation_listing` |\r\n|
`@kbn/event-annotation-plugin`
|\r\n`src/platform/plugins/private/event_annotation` |\r\n|
`@kbn/expression-gauge-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_gauge`
|\r\n| `@kbn/expression-heatmap-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_heatmap`
|\r\n| `@kbn/expression-legacy-metric-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_legacy_metric`\r\n|\r\n|
`@kbn/expression-metric-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_metric`
|\r\n| `@kbn/expression-partition-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_partition_vis`\r\n|\r\n|
`@kbn/expression-tagcloud-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_tagcloud`
|\r\n| `@kbn/expression-xy-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_xy`
|\r\n| `@kbn/expressions-plugin` |
`src/platform/plugins/shared/expressions`\r\n|\r\n| `@kbn/graph-plugin`
| `x-pack/platform/plugins/private/graph` |\r\n| `@kbn/lens-plugin` |
`x-pack/platform/plugins/shared/lens` |\r\n|
`@kbn/unified-search-plugin`
|\r\n`src/platform/plugins/shared/unified_search` |\r\n|
`@kbn/url-forwarding-plugin`
|\r\n`src/platform/plugins/private/url_forwarding` |\r\n|
`@kbn/vis-default-editor-plugin`
|\r\n`src/platform/plugins/private/vis_default_editor` |\r\n|
`@kbn/vis-type-gauge-plugin`
|\r\n`src/platform/plugins/private/vis_types/gauge` |\r\n|
`@kbn/vis-type-heatmap-plugin`
|\r\n`src/platform/plugins/private/vis_types/heatmap` |\r\n|
`@kbn/vis-type-metric-plugin`
|\r\n`src/platform/plugins/private/vis_types/metric` |\r\n|
`@kbn/vis-type-pie-plugin`
|\r\n`src/platform/plugins/private/vis_types/pie` |\r\n|
`@kbn/vis-type-table-plugin`
|\r\n`src/platform/plugins/private/vis_types/table` |\r\n|
`@kbn/vis-type-tagcloud-plugin`
|\r\n`src/platform/plugins/private/vis_types/tagcloud` |\r\n|
`@kbn/vis-type-timelion-plugin`
|\r\n`src/platform/plugins/private/vis_types/timelion` |\r\n|
`@kbn/vis-type-timeseries-plugin`
|\r\n`src/platform/plugins/shared/vis_types/timeseries` |\r\n|
`@kbn/vis-type-vega-plugin`
|\r\n`src/platform/plugins/private/vis_types/vega` |\r\n|
`@kbn/vis-type-vislib-plugin`
|\r\n`src/platform/plugins/private/vis_types/vislib` |\r\n|
`@kbn/vis-type-xy-plugin`
|\r\n`src/platform/plugins/private/vis_types/xy` |\r\n|
`@kbn/visualizations-plugin`
|\r\n`src/platform/plugins/shared/visualizations`
|\r\n\r\n\r\n\r\n\r\n#### 18 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/calculate-width-from-char-count`
|\r\n`src/platform/packages/shared/kbn-calculate-width-from-char-count`
|\r\n| `@kbn/chart-expressions-common`
|\r\n`src/platform/packages/shared/chart-expressions-common` |\r\n|
`@kbn/chart-icons` | `src/platform/packages/shared/kbn-chart-icons`
|\r\n| `@kbn/coloring` | `src/platform/packages/shared/kbn-coloring`
|\r\n| `@kbn/data-service` |
`src/platform/packages/shared/kbn-data-service`\r\n|\r\n|
`@kbn/dom-drag-drop`
|\r\n`src/platform/packages/shared/kbn-dom-drag-drop` |\r\n|
`@kbn/event-annotation-common`
|\r\n`src/platform/packages/shared/kbn-event-annotation-common` |\r\n|
`@kbn/event-annotation-components`
|\r\n`src/platform/packages/shared/kbn-event-annotation-components`
|\r\n| `@kbn/interpreter` |
`src/platform/packages/shared/kbn-interpreter` |\r\n|
`@kbn/lens-formula-docs`
|\r\n`src/platform/packages/private/kbn-lens-formula-docs` |\r\n|
`@kbn/managed-content-badge`
|\r\n`src/platform/packages/private/kbn-managed-content-badge` |\r\n|
`@kbn/random-sampling`
|\r\n`x-pack/platform/packages/private/kbn-random-sampling` |\r\n|
`@kbn/sort-predicates`
|\r\n`src/platform/packages/shared/kbn-sort-predicates` |\r\n|
`@kbn/timelion-grammar`
|\r\n`src/platform/packages/private/kbn-timelion-grammar` |\r\n|
`@kbn/tinymath` | `src/platform/packages/private/kbn-tinymath` |\r\n|
`@kbn/transpose-utils`
|\r\n`src/platform/packages/private/kbn-transpose-utils` |\r\n|
`@kbn/visualization-ui-components`
|\r\n`src/platform/packages/shared/kbn-visualization-ui-components`
|\r\n| `@kbn/visualization-utils`
|\r\n`src/platform/packages/shared/kbn-visualization-utils`
|\r\n\r\n\r\n<details >\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.eslintignore\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.i18nrc.json\r\n./docs/developer/architecture/core/elasticsearch-service.asciidoc\r\n./docs/developer/architecture/development-visualize-index.asciidoc\r\n./docs/developer/best-practices/index.asciidoc\r\n./docs/developer/plugin-list.asciidoc\r\n./examples/search_examples/public/plugin.ts\r\n./package.json\r\n./packages/kbn-docs-utils/src/build_api_declarations/extract_import_refs.test.ts\r\n./packages/kbn-docs-utils/src/utils.ts\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-repo-source-classifier/src/repo_source_classifier.ts\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/build/tasks/package_json/find_used_dependencies.ts\r\n./src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js\r\n./src/dev/code_coverage/ingest_coverage/__tests__/mocks/team_assign_mock.txt\r\n./src/dev/code_coverage/ingest_coverage/__tests__/transforms.test.js\r\n./src/dev/code_coverage/ingest_coverage/integration_tests/mocks/jest-combined/bulk-data.json\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/private/kbn-lens-formula-docs/jest.config.js\r\n./src/platform/packages/private/kbn-managed-content-badge/jest.config.js\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/packages/private/kbn-tinymath/README.md\r\n./src/platform/packages/private/kbn-tinymath/jest.config.js\r\n./src/platform/packages/private/kbn-transpose-utils/jest.config.js\r\n./src/platform/packages/shared/chart-expressions-common/jest.config.js\r\n./src/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js\r\n./src/platform/packages/shared/kbn-chart-icons/jest.config.js\r\n./src/platform/packages/shared/kbn-coloring/jest.config.js\r\n./src/platform/packages/shared/kbn-data-service/jest.config.js\r\n./src/platform/packages/shared/kbn-dom-drag-drop/jest.config.js\r\n./src/platform/packages/shared/kbn-event-annotation-common/jest.config.js\r\n./src/platform/packages/shared/kbn-event-annotation-components/jest.config.js\r\n./src/platform/packages/shared/kbn-interpreter/jest.config.js\r\n./src/platform/packages/shared/kbn-sort-predicates/jest.config.js\r\n./src/platform/packages/shared/kbn-visualization-ui-components/jest.config.js\r\n./src/platform/packages/shared/kbn-visualization-utils/jest.config.js\r\n./src/platform/plugins/private/event_annotation/jest.config.js\r\n./src/platform/plugins/private/event_annotation_listing/jest.config.js\r\n./src/platform/plugins/private/url_forwarding/jest.config.js\r\n./src/platform/plugins/private/vis_default_editor/jest.config.js\r\n./src/platform/plugins/private/vis_types/gauge/jest.config.js\r\n./src/platform/plugins/private/vis_types/heatmap/jest.config.js\r\n./src/platform/plugins/private/vis_types/metric/jest.config.js\r\n./src/platform/plugins/private/vis_types/pie/jest.config.js\r\n./src/platform/plugins/private/vis_types/table/jest.config.js\r\n./src/platform/plugins/private/vis_types/tagcloud/jest.config.js\r\n./src/platform/plugins/private/vis_types/timelion/jest.config.js\r\n./src/platform/plugins/private/vis_types/vega/jest.config.js\r\n./src/platform/plugins/private/vis_types/vislib/jest.config.js\r\n./src/platform/plugins/private/vis_types/xy/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js\r\n./src/platform/plugins/shared/charts/jest.config.js\r\n./src/platform/plugins/shared/custom_integrations/jest.config.js\r\n./src/platform/plugins/shared/data/jest.config.js\r\n./src/platform/plugins/shared/expressions/README.asciidoc\r\n./src/platform/plugins/shared/expressions/jest.config.js\r\n./src/platform/plugins/shared/unified_search/jest.config.js\r\n./src/platform/plugins/shared/vis_types/timeseries/jest.config.js\r\n./src/platform/plugins/shared/visualizations/jest.config.js\r\n./src/plugins/vis_types/timeseries/public/application/components/aggs/math.js\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/private/kbn-random-sampling/jest.config.js\r\n./x-pack/platform/packages/private/ml/date_utils/src/date_utils.ts\r\n./x-pack/platform/plugins/private/graph/README.md\r\n./x-pack/platform/plugins/private/graph/jest.config.js\r\n./x-pack/platform/plugins/private/graph/public/components/venn_diagram/vennjs/index.ts\r\n./x-pack/platform/plugins/private/watcher/public/legacy/time_buckets.js\r\n./x-pack/platform/plugins/shared/cases/public/components/markdown_editor/use_plugins.ts\r\n./x-pack/platform/plugins/shared/lens/jest.config.js\r\n./x-pack/platform/plugins/shared/lens/readme.md\r\n./x-pack/platform/plugins/shared/lens/server/embeddable/make_lens_embeddable_factory.ts\r\n./x-pack/platform/plugins/shared/lens/server/migrations/saved_object_migrations.ts\r\n./x-pack/platform/plugins/shared/lens/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/ml/public/application/explorer/explorer_charts/explorer_charts_container.js\r\n./x-pack/platform/plugins/shared/ml/public/application/services/field_format_service.ts\r\n./x-pack/platform/plugins/shared/ml/public/application/util/chart_utils.js\r\n./x-pack/solutions/observability/plugins/observability/common/utils/get_inspect_response.ts\r\n./x-pack/solutions/observability/plugins/observability_shared/common/utils/get_inspect_response.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/autocomplete/index.mock.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/fields/index.mock.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/filter_field_to_list/index.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.test.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-list-utils/src/helpers/index.ts\r\n./x-pack/solutions/security/plugins/security_solution/public/common/hooks/use_app_toasts.ts\r\n./x-pack/solutions/security/plugins/security_solution/server/lib/timeline/constants.ts\r\n./x-pack/solutions/security/plugins/timelines/public/hooks/use_app_toasts.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/private/kbn-lens-formula-docs/jest.config.js:12\r\nsrc/platform/packages/private/kbn-lens-formula-docs/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-managed-content-badge/jest.config.js:12\r\nsrc/platform/packages/private/kbn-managed-content-badge/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-timelion-grammar/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-tinymath/jest.config.js:12\r\nsrc/platform/packages/private/kbn-tinymath/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-transpose-utils/jest.config.js:12\r\nsrc/platform/packages/private/kbn-transpose-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/chart-expressions-common/jest.config.js:12\r\nsrc/platform/packages/shared/chart-expressions-common/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-calculate-width-from-char-count/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-chart-icons/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-chart-icons/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-coloring/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-coloring/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-data-service/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-data-service/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-dom-drag-drop/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-dom-drag-drop/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-event-annotation-common/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-event-annotation-common/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-event-annotation-components/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-event-annotation-components/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-interpreter/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-interpreter/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-sort-predicates/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-sort-predicates/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-visualization-ui-components/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-visualization-ui-components/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-visualization-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-visualization-utils/tsconfig.json:2\r\nsrc/platform/plugins/private/event_annotation/jest.config.js:12\r\nsrc/platform/plugins/private/event_annotation/tsconfig.json:2\r\nsrc/platform/plugins/private/event_annotation_listing/jest.config.js:12\r\nsrc/platform/plugins/private/event_annotation_listing/tsconfig.json:2\r\nsrc/platform/plugins/private/url_forwarding/jest.config.js:12\r\nsrc/platform/plugins/private/url_forwarding/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_default_editor/README.md:8\r\nsrc/platform/plugins/private/vis_default_editor/jest.config.js:12\r\nsrc/platform/plugins/private/vis_default_editor/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/gauge/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/gauge/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/heatmap/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/heatmap/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/metric/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/metric/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/pie/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/pie/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/table/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/table/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/tagcloud/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/tagcloud/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/timelion/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/timelion/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/vega/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/vega/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/vislib/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/vislib/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/xy/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/xy/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_gauge/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_heatmap/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/.storybook/main.js:17\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/.storybook/main.js:17\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_partition_vis/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_tagcloud/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_xy/tsconfig.json:2\r\nsrc/platform/plugins/shared/charts/jest.config.js:12\r\nsrc/platform/plugins/shared/charts/tsconfig.json:2\r\nsrc/platform/plugins/shared/data/jest.config.js:12\r\nsrc/platform/plugins/shared/data/tsconfig.json:13\r\nsrc/platform/plugins/shared/data/tsconfig.json:2\r\nsrc/platform/plugins/shared/expressions/jest.config.js:12\r\nsrc/platform/plugins/shared/expressions/tsconfig.json:2\r\nsrc/platform/plugins/shared/unified_search/jest.config.js:12\r\nsrc/platform/plugins/shared/unified_search/tsconfig.json:2\r\nsrc/platform/plugins/shared/vis_types/timeseries/jest.config.js:12\r\nsrc/platform/plugins/shared/vis_types/timeseries/tsconfig.json:11\r\nsrc/platform/plugins/shared/vis_types/timeseries/tsconfig.json:2\r\nsrc/platform/plugins/shared/visualizations/jest.config.js:12\r\nsrc/platform/plugins/shared/visualizations/tsconfig.json:2\r\nsrc/platform/plugins/shared/visualizations/tsconfig.json:6\r\nx-pack/platform/packages/private/kbn-random-sampling/jest.config.js:10\r\nx-pack/platform/packages/private/kbn-random-sampling/tsconfig.json:2\r\nx-pack/platform/plugins/private/graph/jest.config.js:10\r\nx-pack/platform/plugins/private/graph/tsconfig.json:13\r\nx-pack/platform/plugins/private/graph/tsconfig.json:3\r\nx-pack/platform/plugins/shared/lens/jest.config.js:10\r\nx-pack/platform/plugins/shared/lens/tsconfig.json:2\r\nx-pack/platform/plugins/shared/lens/tsconfig.json:6\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a382d35dd28ae43053d28bcc74778118a92b9540","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","Team:Visualizations","release_note:skip","v9.0.0","backport:prev-minor","plugin
groups"],"number":202754,"url":"https://github.com/elastic/kibana/pull/202754","mergeCommit":{"message":"Sustainable
Kibana Architecture: Move modules owned by
`@elastic/kibana-visualizations` (#202754)\n\n## Summary\r\n\r\nThis PR
aims at relocating some of the Kibana modules (plugins and\r\npackages)
into a new folder structure, according to the _Sustainable\r\nKibana
Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you
to:\r\n> * Manually fix the errors in the error section below (if there
are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and
`plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint
config files), and update them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
29 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/charts-plugin` |
`src/platform/plugins/shared/charts` |\r\n| `@kbn/data-plugin` |
`src/platform/plugins/shared/data` |\r\n|
`@kbn/event-annotation-listing-plugin`
|\r\n`src/platform/plugins/private/event_annotation_listing` |\r\n|
`@kbn/event-annotation-plugin`
|\r\n`src/platform/plugins/private/event_annotation` |\r\n|
`@kbn/expression-gauge-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_gauge`
|\r\n| `@kbn/expression-heatmap-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_heatmap`
|\r\n| `@kbn/expression-legacy-metric-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_legacy_metric`\r\n|\r\n|
`@kbn/expression-metric-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_metric`
|\r\n| `@kbn/expression-partition-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_partition_vis`\r\n|\r\n|
`@kbn/expression-tagcloud-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_tagcloud`
|\r\n| `@kbn/expression-xy-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_xy`
|\r\n| `@kbn/expressions-plugin` |
`src/platform/plugins/shared/expressions`\r\n|\r\n| `@kbn/graph-plugin`
| `x-pack/platform/plugins/private/graph` |\r\n| `@kbn/lens-plugin` |
`x-pack/platform/plugins/shared/lens` |\r\n|
`@kbn/unified-search-plugin`
|\r\n`src/platform/plugins/shared/unified_search` |\r\n|
`@kbn/url-forwarding-plugin`
|\r\n`src/platform/plugins/private/url_forwarding` |\r\n|
`@kbn/vis-default-editor-plugin`
|\r\n`src/platform/plugins/private/vis_default_editor` |\r\n|
`@kbn/vis-type-gauge-plugin`
|\r\n`src/platform/plugins/private/vis_types/gauge` |\r\n|
`@kbn/vis-type-heatmap-plugin`
|\r\n`src/platform/plugins/private/vis_types/heatmap` |\r\n|
`@kbn/vis-type-metric-plugin`
|\r\n`src/platform/plugins/private/vis_types/metric` |\r\n|
`@kbn/vis-type-pie-plugin`
|\r\n`src/platform/plugins/private/vis_types/pie` |\r\n|
`@kbn/vis-type-table-plugin`
|\r\n`src/platform/plugins/private/vis_types/table` |\r\n|
`@kbn/vis-type-tagcloud-plugin`
|\r\n`src/platform/plugins/private/vis_types/tagcloud` |\r\n|
`@kbn/vis-type-timelion-plugin`
|\r\n`src/platform/plugins/private/vis_types/timelion` |\r\n|
`@kbn/vis-type-timeseries-plugin`
|\r\n`src/platform/plugins/shared/vis_types/timeseries` |\r\n|
`@kbn/vis-type-vega-plugin`
|\r\n`src/platform/plugins/private/vis_types/vega` |\r\n|
`@kbn/vis-type-vislib-plugin`
|\r\n`src/platform/plugins/private/vis_types/vislib` |\r\n|
`@kbn/vis-type-xy-plugin`
|\r\n`src/platform/plugins/private/vis_types/xy` |\r\n|
`@kbn/visualizations-plugin`
|\r\n`src/platform/plugins/shared/visualizations`
|\r\n\r\n\r\n\r\n\r\n#### 18 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/calculate-width-from-char-count`
|\r\n`src/platform/packages/shared/kbn-calculate-width-from-char-count`
|\r\n| `@kbn/chart-expressions-common`
|\r\n`src/platform/packages/shared/chart-expressions-common` |\r\n|
`@kbn/chart-icons` | `src/platform/packages/shared/kbn-chart-icons`
|\r\n| `@kbn/coloring` | `src/platform/packages/shared/kbn-coloring`
|\r\n| `@kbn/data-service` |
`src/platform/packages/shared/kbn-data-service`\r\n|\r\n|
`@kbn/dom-drag-drop`
|\r\n`src/platform/packages/shared/kbn-dom-drag-drop` |\r\n|
`@kbn/event-annotation-common`
|\r\n`src/platform/packages/shared/kbn-event-annotation-common` |\r\n|
`@kbn/event-annotation-components`
|\r\n`src/platform/packages/shared/kbn-event-annotation-components`
|\r\n| `@kbn/interpreter` |
`src/platform/packages/shared/kbn-interpreter` |\r\n|
`@kbn/lens-formula-docs`
|\r\n`src/platform/packages/private/kbn-lens-formula-docs` |\r\n|
`@kbn/managed-content-badge`
|\r\n`src/platform/packages/private/kbn-managed-content-badge` |\r\n|
`@kbn/random-sampling`
|\r\n`x-pack/platform/packages/private/kbn-random-sampling` |\r\n|
`@kbn/sort-predicates`
|\r\n`src/platform/packages/shared/kbn-sort-predicates` |\r\n|
`@kbn/timelion-grammar`
|\r\n`src/platform/packages/private/kbn-timelion-grammar` |\r\n|
`@kbn/tinymath` | `src/platform/packages/private/kbn-tinymath` |\r\n|
`@kbn/transpose-utils`
|\r\n`src/platform/packages/private/kbn-transpose-utils` |\r\n|
`@kbn/visualization-ui-components`
|\r\n`src/platform/packages/shared/kbn-visualization-ui-components`
|\r\n| `@kbn/visualization-utils`
|\r\n`src/platform/packages/shared/kbn-visualization-utils`
|\r\n\r\n\r\n<details >\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.eslintignore\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.i18nrc.json\r\n./docs/developer/architecture/core/elasticsearch-service.asciidoc\r\n./docs/developer/architecture/development-visualize-index.asciidoc\r\n./docs/developer/best-practices/index.asciidoc\r\n./docs/developer/plugin-list.asciidoc\r\n./examples/search_examples/public/plugin.ts\r\n./package.json\r\n./packages/kbn-docs-utils/src/build_api_declarations/extract_import_refs.test.ts\r\n./packages/kbn-docs-utils/src/utils.ts\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-repo-source-classifier/src/repo_source_classifier.ts\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/build/tasks/package_json/find_used_dependencies.ts\r\n./src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js\r\n./src/dev/code_coverage/ingest_coverage/__tests__/mocks/team_assign_mock.txt\r\n./src/dev/code_coverage/ingest_coverage/__tests__/transforms.test.js\r\n./src/dev/code_coverage/ingest_coverage/integration_tests/mocks/jest-combined/bulk-data.json\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/private/kbn-lens-formula-docs/jest.config.js\r\n./src/platform/packages/private/kbn-managed-content-badge/jest.config.js\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/packages/private/kbn-tinymath/README.md\r\n./src/platform/packages/private/kbn-tinymath/jest.config.js\r\n./src/platform/packages/private/kbn-transpose-utils/jest.config.js\r\n./src/platform/packages/shared/chart-expressions-common/jest.config.js\r\n./src/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js\r\n./src/platform/packages/shared/kbn-chart-icons/jest.config.js\r\n./src/platform/packages/shared/kbn-coloring/jest.config.js\r\n./src/platform/packages/shared/kbn-data-service/jest.config.js\r\n./src/platform/packages/shared/kbn-dom-drag-drop/jest.config.js\r\n./src/platform/packages/shared/kbn-event-annotation-common/jest.config.js\r\n./src/platform/packages/shared/kbn-event-annotation-components/jest.config.js\r\n./src/platform/packages/shared/kbn-interpreter/jest.config.js\r\n./src/platform/packages/shared/kbn-sort-predicates/jest.config.js\r\n./src/platform/packages/shared/kbn-visualization-ui-components/jest.config.js\r\n./src/platform/packages/shared/kbn-visualization-utils/jest.config.js\r\n./src/platform/plugins/private/event_annotation/jest.config.js\r\n./src/platform/plugins/private/event_annotation_listing/jest.config.js\r\n./src/platform/plugins/private/url_forwarding/jest.config.js\r\n./src/platform/plugins/private/vis_default_editor/jest.config.js\r\n./src/platform/plugins/private/vis_types/gauge/jest.config.js\r\n./src/platform/plugins/private/vis_types/heatmap/jest.config.js\r\n./src/platform/plugins/private/vis_types/metric/jest.config.js\r\n./src/platform/plugins/private/vis_types/pie/jest.config.js\r\n./src/platform/plugins/private/vis_types/table/jest.config.js\r\n./src/platform/plugins/private/vis_types/tagcloud/jest.config.js\r\n./src/platform/plugins/private/vis_types/timelion/jest.config.js\r\n./src/platform/plugins/private/vis_types/vega/jest.config.js\r\n./src/platform/plugins/private/vis_types/vislib/jest.config.js\r\n./src/platform/plugins/private/vis_types/xy/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js\r\n./src/platform/plugins/shared/charts/jest.config.js\r\n./src/platform/plugins/shared/custom_integrations/jest.config.js\r\n./src/platform/plugins/shared/data/jest.config.js\r\n./src/platform/plugins/shared/expressions/README.asciidoc\r\n./src/platform/plugins/shared/expressions/jest.config.js\r\n./src/platform/plugins/shared/unified_search/jest.config.js\r\n./src/platform/plugins/shared/vis_types/timeseries/jest.config.js\r\n./src/platform/plugins/shared/visualizations/jest.config.js\r\n./src/plugins/vis_types/timeseries/public/application/components/aggs/math.js\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/private/kbn-random-sampling/jest.config.js\r\n./x-pack/platform/packages/private/ml/date_utils/src/date_utils.ts\r\n./x-pack/platform/plugins/private/graph/README.md\r\n./x-pack/platform/plugins/private/graph/jest.config.js\r\n./x-pack/platform/plugins/private/graph/public/components/venn_diagram/vennjs/index.ts\r\n./x-pack/platform/plugins/private/watcher/public/legacy/time_buckets.js\r\n./x-pack/platform/plugins/shared/cases/public/components/markdown_editor/use_plugins.ts\r\n./x-pack/platform/plugins/shared/lens/jest.config.js\r\n./x-pack/platform/plugins/shared/lens/readme.md\r\n./x-pack/platform/plugins/shared/lens/server/embeddable/make_lens_embeddable_factory.ts\r\n./x-pack/platform/plugins/shared/lens/server/migrations/saved_object_migrations.ts\r\n./x-pack/platform/plugins/shared/lens/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/ml/public/application/explorer/explorer_charts/explorer_charts_container.js\r\n./x-pack/platform/plugins/shared/ml/public/application/services/field_format_service.ts\r\n./x-pack/platform/plugins/shared/ml/public/application/util/chart_utils.js\r\n./x-pack/solutions/observability/plugins/observability/common/utils/get_inspect_response.ts\r\n./x-pack/solutions/observability/plugins/observability_shared/common/utils/get_inspect_response.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/autocomplete/index.mock.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/fields/index.mock.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/filter_field_to_list/index.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.test.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-list-utils/src/helpers/index.ts\r\n./x-pack/solutions/security/plugins/security_solution/public/common/hooks/use_app_toasts.ts\r\n./x-pack/solutions/security/plugins/security_solution/server/lib/timeline/constants.ts\r\n./x-pack/solutions/security/plugins/timelines/public/hooks/use_app_toasts.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/private/kbn-lens-formula-docs/jest.config.js:12\r\nsrc/platform/packages/private/kbn-lens-formula-docs/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-managed-content-badge/jest.config.js:12\r\nsrc/platform/packages/private/kbn-managed-content-badge/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-timelion-grammar/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-tinymath/jest.config.js:12\r\nsrc/platform/packages/private/kbn-tinymath/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-transpose-utils/jest.config.js:12\r\nsrc/platform/packages/private/kbn-transpose-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/chart-expressions-common/jest.config.js:12\r\nsrc/platform/packages/shared/chart-expressions-common/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-calculate-width-from-char-count/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-chart-icons/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-chart-icons/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-coloring/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-coloring/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-data-service/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-data-service/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-dom-drag-drop/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-dom-drag-drop/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-event-annotation-common/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-event-annotation-common/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-event-annotation-components/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-event-annotation-components/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-interpreter/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-interpreter/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-sort-predicates/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-sort-predicates/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-visualization-ui-components/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-visualization-ui-components/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-visualization-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-visualization-utils/tsconfig.json:2\r\nsrc/platform/plugins/private/event_annotation/jest.config.js:12\r\nsrc/platform/plugins/private/event_annotation/tsconfig.json:2\r\nsrc/platform/plugins/private/event_annotation_listing/jest.config.js:12\r\nsrc/platform/plugins/private/event_annotation_listing/tsconfig.json:2\r\nsrc/platform/plugins/private/url_forwarding/jest.config.js:12\r\nsrc/platform/plugins/private/url_forwarding/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_default_editor/README.md:8\r\nsrc/platform/plugins/private/vis_default_editor/jest.config.js:12\r\nsrc/platform/plugins/private/vis_default_editor/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/gauge/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/gauge/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/heatmap/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/heatmap/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/metric/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/metric/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/pie/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/pie/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/table/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/table/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/tagcloud/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/tagcloud/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/timelion/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/timelion/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/vega/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/vega/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/vislib/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/vislib/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/xy/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/xy/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_gauge/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_heatmap/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/.storybook/main.js:17\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/.storybook/main.js:17\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_partition_vis/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_tagcloud/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_xy/tsconfig.json:2\r\nsrc/platform/plugins/shared/charts/jest.config.js:12\r\nsrc/platform/plugins/shared/charts/tsconfig.json:2\r\nsrc/platform/plugins/shared/data/jest.config.js:12\r\nsrc/platform/plugins/shared/data/tsconfig.json:13\r\nsrc/platform/plugins/shared/data/tsconfig.json:2\r\nsrc/platform/plugins/shared/expressions/jest.config.js:12\r\nsrc/platform/plugins/shared/expressions/tsconfig.json:2\r\nsrc/platform/plugins/shared/unified_search/jest.config.js:12\r\nsrc/platform/plugins/shared/unified_search/tsconfig.json:2\r\nsrc/platform/plugins/shared/vis_types/timeseries/jest.config.js:12\r\nsrc/platform/plugins/shared/vis_types/timeseries/tsconfig.json:11\r\nsrc/platform/plugins/shared/vis_types/timeseries/tsconfig.json:2\r\nsrc/platform/plugins/shared/visualizations/jest.config.js:12\r\nsrc/platform/plugins/shared/visualizations/tsconfig.json:2\r\nsrc/platform/plugins/shared/visualizations/tsconfig.json:6\r\nx-pack/platform/packages/private/kbn-random-sampling/jest.config.js:10\r\nx-pack/platform/packages/private/kbn-random-sampling/tsconfig.json:2\r\nx-pack/platform/plugins/private/graph/jest.config.js:10\r\nx-pack/platform/plugins/private/graph/tsconfig.json:13\r\nx-pack/platform/plugins/private/graph/tsconfig.json:3\r\nx-pack/platform/plugins/shared/lens/jest.config.js:10\r\nx-pack/platform/plugins/shared/lens/tsconfig.json:2\r\nx-pack/platform/plugins/shared/lens/tsconfig.json:6\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a382d35dd28ae43053d28bcc74778118a92b9540"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202754","number":202754,"mergeCommit":{"message":"Sustainable
Kibana Architecture: Move modules owned by
`@elastic/kibana-visualizations` (#202754)\n\n## Summary\r\n\r\nThis PR
aims at relocating some of the Kibana modules (plugins and\r\npackages)
into a new folder structure, according to the _Sustainable\r\nKibana
Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you
to:\r\n> * Manually fix the errors in the error section below (if there
are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and
`plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint
config files), and update them\r\nappropriately.\r\n> * Manually
review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to
ensure that\r\nany CI pipeline customizations continue to be correctly
applied after\r\nthe changed path names\r\n> * Review all of the updated
files, specially the `.ts` and `.js` files\r\nlisted in the sections
below, as some of them contain relative paths\r\nthat have been
updated.\r\n> * Think of potential impact of the move, including tooling
and\r\nconfiguration files that can be pointing to the relocated
modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to
source code\r\n\r\n> [!NOTE]\r\n> * This PR has been
auto-generated.\r\n> * Any manual contributions will be lost if the
'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews
/ approvals before applying manual\r\nfixes, and/or keep your changes in
a .patch / git stash.\r\n> * Please
use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack
channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve
merge conflicts? Please follow\r\nthe steps
describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n####
29 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder
|\r\n| -- | ------------- |\r\n| `@kbn/charts-plugin` |
`src/platform/plugins/shared/charts` |\r\n| `@kbn/data-plugin` |
`src/platform/plugins/shared/data` |\r\n|
`@kbn/event-annotation-listing-plugin`
|\r\n`src/platform/plugins/private/event_annotation_listing` |\r\n|
`@kbn/event-annotation-plugin`
|\r\n`src/platform/plugins/private/event_annotation` |\r\n|
`@kbn/expression-gauge-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_gauge`
|\r\n| `@kbn/expression-heatmap-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_heatmap`
|\r\n| `@kbn/expression-legacy-metric-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_legacy_metric`\r\n|\r\n|
`@kbn/expression-metric-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_metric`
|\r\n| `@kbn/expression-partition-vis-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_partition_vis`\r\n|\r\n|
`@kbn/expression-tagcloud-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_tagcloud`
|\r\n| `@kbn/expression-xy-plugin`
|\r\n`src/platform/plugins/shared/chart_expressions/expression_xy`
|\r\n| `@kbn/expressions-plugin` |
`src/platform/plugins/shared/expressions`\r\n|\r\n| `@kbn/graph-plugin`
| `x-pack/platform/plugins/private/graph` |\r\n| `@kbn/lens-plugin` |
`x-pack/platform/plugins/shared/lens` |\r\n|
`@kbn/unified-search-plugin`
|\r\n`src/platform/plugins/shared/unified_search` |\r\n|
`@kbn/url-forwarding-plugin`
|\r\n`src/platform/plugins/private/url_forwarding` |\r\n|
`@kbn/vis-default-editor-plugin`
|\r\n`src/platform/plugins/private/vis_default_editor` |\r\n|
`@kbn/vis-type-gauge-plugin`
|\r\n`src/platform/plugins/private/vis_types/gauge` |\r\n|
`@kbn/vis-type-heatmap-plugin`
|\r\n`src/platform/plugins/private/vis_types/heatmap` |\r\n|
`@kbn/vis-type-metric-plugin`
|\r\n`src/platform/plugins/private/vis_types/metric` |\r\n|
`@kbn/vis-type-pie-plugin`
|\r\n`src/platform/plugins/private/vis_types/pie` |\r\n|
`@kbn/vis-type-table-plugin`
|\r\n`src/platform/plugins/private/vis_types/table` |\r\n|
`@kbn/vis-type-tagcloud-plugin`
|\r\n`src/platform/plugins/private/vis_types/tagcloud` |\r\n|
`@kbn/vis-type-timelion-plugin`
|\r\n`src/platform/plugins/private/vis_types/timelion` |\r\n|
`@kbn/vis-type-timeseries-plugin`
|\r\n`src/platform/plugins/shared/vis_types/timeseries` |\r\n|
`@kbn/vis-type-vega-plugin`
|\r\n`src/platform/plugins/private/vis_types/vega` |\r\n|
`@kbn/vis-type-vislib-plugin`
|\r\n`src/platform/plugins/private/vis_types/vislib` |\r\n|
`@kbn/vis-type-xy-plugin`
|\r\n`src/platform/plugins/private/vis_types/xy` |\r\n|
`@kbn/visualizations-plugin`
|\r\n`src/platform/plugins/shared/visualizations`
|\r\n\r\n\r\n\r\n\r\n#### 18 packages(s) are going to be
relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n|
`@kbn/calculate-width-from-char-count`
|\r\n`src/platform/packages/shared/kbn-calculate-width-from-char-count`
|\r\n| `@kbn/chart-expressions-common`
|\r\n`src/platform/packages/shared/chart-expressions-common` |\r\n|
`@kbn/chart-icons` | `src/platform/packages/shared/kbn-chart-icons`
|\r\n| `@kbn/coloring` | `src/platform/packages/shared/kbn-coloring`
|\r\n| `@kbn/data-service` |
`src/platform/packages/shared/kbn-data-service`\r\n|\r\n|
`@kbn/dom-drag-drop`
|\r\n`src/platform/packages/shared/kbn-dom-drag-drop` |\r\n|
`@kbn/event-annotation-common`
|\r\n`src/platform/packages/shared/kbn-event-annotation-common` |\r\n|
`@kbn/event-annotation-components`
|\r\n`src/platform/packages/shared/kbn-event-annotation-components`
|\r\n| `@kbn/interpreter` |
`src/platform/packages/shared/kbn-interpreter` |\r\n|
`@kbn/lens-formula-docs`
|\r\n`src/platform/packages/private/kbn-lens-formula-docs` |\r\n|
`@kbn/managed-content-badge`
|\r\n`src/platform/packages/private/kbn-managed-content-badge` |\r\n|
`@kbn/random-sampling`
|\r\n`x-pack/platform/packages/private/kbn-random-sampling` |\r\n|
`@kbn/sort-predicates`
|\r\n`src/platform/packages/shared/kbn-sort-predicates` |\r\n|
`@kbn/timelion-grammar`
|\r\n`src/platform/packages/private/kbn-timelion-grammar` |\r\n|
`@kbn/tinymath` | `src/platform/packages/private/kbn-tinymath` |\r\n|
`@kbn/transpose-utils`
|\r\n`src/platform/packages/private/kbn-transpose-utils` |\r\n|
`@kbn/visualization-ui-components`
|\r\n`src/platform/packages/shared/kbn-visualization-ui-components`
|\r\n| `@kbn/visualization-utils`
|\r\n`src/platform/packages/shared/kbn-visualization-utils`
|\r\n\r\n\r\n<details >\r\n<summary>Updated
references</summary>\r\n\r\n```\r\n./.eslintignore\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.i18nrc.json\r\n./docs/developer/architecture/core/elasticsearch-service.asciidoc\r\n./docs/developer/architecture/development-visualize-index.asciidoc\r\n./docs/developer/best-practices/index.asciidoc\r\n./docs/developer/plugin-list.asciidoc\r\n./examples/search_examples/public/plugin.ts\r\n./package.json\r\n./packages/kbn-docs-utils/src/build_api_declarations/extract_import_refs.test.ts\r\n./packages/kbn-docs-utils/src/utils.ts\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-repo-source-classifier/src/repo_source_classifier.ts\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/build/tasks/package_json/find_used_dependencies.ts\r\n./src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js\r\n./src/dev/code_coverage/ingest_coverage/__tests__/mocks/team_assign_mock.txt\r\n./src/dev/code_coverage/ingest_coverage/__tests__/transforms.test.js\r\n./src/dev/code_coverage/ingest_coverage/integration_tests/mocks/jest-combined/bulk-data.json\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/private/kbn-lens-formula-docs/jest.config.js\r\n./src/platform/packages/private/kbn-managed-content-badge/jest.config.js\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/packages/private/kbn-tinymath/README.md\r\n./src/platform/packages/private/kbn-tinymath/jest.config.js\r\n./src/platform/packages/private/kbn-transpose-utils/jest.config.js\r\n./src/platform/packages/shared/chart-expressions-common/jest.config.js\r\n./src/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js\r\n./src/platform/packages/shared/kbn-chart-icons/jest.config.js\r\n./src/platform/packages/shared/kbn-coloring/jest.config.js\r\n./src/platform/packages/shared/kbn-data-service/jest.config.js\r\n./src/platform/packages/shared/kbn-dom-drag-drop/jest.config.js\r\n./src/platform/packages/shared/kbn-event-annotation-common/jest.config.js\r\n./src/platform/packages/shared/kbn-event-annotation-components/jest.config.js\r\n./src/platform/packages/shared/kbn-interpreter/jest.config.js\r\n./src/platform/packages/shared/kbn-sort-predicates/jest.config.js\r\n./src/platform/packages/shared/kbn-visualization-ui-components/jest.config.js\r\n./src/platform/packages/shared/kbn-visualization-utils/jest.config.js\r\n./src/platform/plugins/private/event_annotation/jest.config.js\r\n./src/platform/plugins/private/event_annotation_listing/jest.config.js\r\n./src/platform/plugins/private/url_forwarding/jest.config.js\r\n./src/platform/plugins/private/vis_default_editor/jest.config.js\r\n./src/platform/plugins/private/vis_types/gauge/jest.config.js\r\n./src/platform/plugins/private/vis_types/heatmap/jest.config.js\r\n./src/platform/plugins/private/vis_types/metric/jest.config.js\r\n./src/platform/plugins/private/vis_types/pie/jest.config.js\r\n./src/platform/plugins/private/vis_types/table/jest.config.js\r\n./src/platform/plugins/private/vis_types/tagcloud/jest.config.js\r\n./src/platform/plugins/private/vis_types/timelion/jest.config.js\r\n./src/platform/plugins/private/vis_types/vega/jest.config.js\r\n./src/platform/plugins/private/vis_types/vislib/jest.config.js\r\n./src/platform/plugins/private/vis_types/xy/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js\r\n./src/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js\r\n./src/platform/plugins/shared/charts/jest.config.js\r\n./src/platform/plugins/shared/custom_integrations/jest.config.js\r\n./src/platform/plugins/shared/data/jest.config.js\r\n./src/platform/plugins/shared/expressions/README.asciidoc\r\n./src/platform/plugins/shared/expressions/jest.config.js\r\n./src/platform/plugins/shared/unified_search/jest.config.js\r\n./src/platform/plugins/shared/vis_types/timeseries/jest.config.js\r\n./src/platform/plugins/shared/visualizations/jest.config.js\r\n./src/plugins/vis_types/timeseries/public/application/components/aggs/math.js\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/private/kbn-random-sampling/jest.config.js\r\n./x-pack/platform/packages/private/ml/date_utils/src/date_utils.ts\r\n./x-pack/platform/plugins/private/graph/README.md\r\n./x-pack/platform/plugins/private/graph/jest.config.js\r\n./x-pack/platform/plugins/private/graph/public/components/venn_diagram/vennjs/index.ts\r\n./x-pack/platform/plugins/private/watcher/public/legacy/time_buckets.js\r\n./x-pack/platform/plugins/shared/cases/public/components/markdown_editor/use_plugins.ts\r\n./x-pack/platform/plugins/shared/lens/jest.config.js\r\n./x-pack/platform/plugins/shared/lens/readme.md\r\n./x-pack/platform/plugins/shared/lens/server/embeddable/make_lens_embeddable_factory.ts\r\n./x-pack/platform/plugins/shared/lens/server/migrations/saved_object_migrations.ts\r\n./x-pack/platform/plugins/shared/lens/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/ml/public/application/explorer/explorer_charts/explorer_charts_container.js\r\n./x-pack/platform/plugins/shared/ml/public/application/services/field_format_service.ts\r\n./x-pack/platform/plugins/shared/ml/public/application/util/chart_utils.js\r\n./x-pack/solutions/observability/plugins/observability/common/utils/get_inspect_response.ts\r\n./x-pack/solutions/observability/plugins/observability_shared/common/utils/get_inspect_response.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/autocomplete/index.mock.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/fields/index.mock.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/filter_field_to_list/index.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.test.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.ts\r\n./x-pack/solutions/security/packages/kbn-securitysolution-list-utils/src/helpers/index.ts\r\n./x-pack/solutions/security/plugins/security_solution/public/common/hooks/use_app_toasts.ts\r\n./x-pack/solutions/security/plugins/security_solution/server/lib/timeline/constants.ts\r\n./x-pack/solutions/security/plugins/timelines/public/hooks/use_app_toasts.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details
>\r\n<summary>Updated relative
paths</summary>\r\n\r\n```\r\nsrc/platform/packages/private/kbn-lens-formula-docs/jest.config.js:12\r\nsrc/platform/packages/private/kbn-lens-formula-docs/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-managed-content-badge/jest.config.js:12\r\nsrc/platform/packages/private/kbn-managed-content-badge/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-timelion-grammar/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-tinymath/jest.config.js:12\r\nsrc/platform/packages/private/kbn-tinymath/tsconfig.json:2\r\nsrc/platform/packages/private/kbn-transpose-utils/jest.config.js:12\r\nsrc/platform/packages/private/kbn-transpose-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/chart-expressions-common/jest.config.js:12\r\nsrc/platform/packages/shared/chart-expressions-common/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-calculate-width-from-char-count/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-chart-icons/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-chart-icons/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-coloring/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-coloring/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-data-service/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-data-service/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-dom-drag-drop/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-dom-drag-drop/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-event-annotation-common/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-event-annotation-common/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-event-annotation-components/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-event-annotation-components/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-interpreter/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-interpreter/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-sort-predicates/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-sort-predicates/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-visualization-ui-components/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-visualization-ui-components/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-visualization-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-visualization-utils/tsconfig.json:2\r\nsrc/platform/plugins/private/event_annotation/jest.config.js:12\r\nsrc/platform/plugins/private/event_annotation/tsconfig.json:2\r\nsrc/platform/plugins/private/event_annotation_listing/jest.config.js:12\r\nsrc/platform/plugins/private/event_annotation_listing/tsconfig.json:2\r\nsrc/platform/plugins/private/url_forwarding/jest.config.js:12\r\nsrc/platform/plugins/private/url_forwarding/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_default_editor/README.md:8\r\nsrc/platform/plugins/private/vis_default_editor/jest.config.js:12\r\nsrc/platform/plugins/private/vis_default_editor/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/gauge/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/gauge/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/heatmap/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/heatmap/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/metric/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/metric/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/pie/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/pie/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/table/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/table/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/tagcloud/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/tagcloud/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/timelion/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/timelion/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/vega/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/vega/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/vislib/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/vislib/tsconfig.json:2\r\nsrc/platform/plugins/private/vis_types/xy/jest.config.js:12\r\nsrc/platform/plugins/private/vis_types/xy/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_gauge/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_heatmap/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/.storybook/main.js:17\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_legacy_metric/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/.storybook/main.js:17\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_metric/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_partition_vis/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_tagcloud/tsconfig.json:2\r\nsrc/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js:12\r\nsrc/platform/plugins/shared/chart_expressions/expression_xy/tsconfig.json:2\r\nsrc/platform/plugins/shared/charts/jest.config.js:12\r\nsrc/platform/plugins/shared/charts/tsconfig.json:2\r\nsrc/platform/plugins/shared/data/jest.config.js:12\r\nsrc/platform/plugins/shared/data/tsconfig.json:13\r\nsrc/platform/plugins/shared/data/tsconfig.json:2\r\nsrc/platform/plugins/shared/expressions/jest.config.js:12\r\nsrc/platform/plugins/shared/expressions/tsconfig.json:2\r\nsrc/platform/plugins/shared/unified_search/jest.config.js:12\r\nsrc/platform/plugins/shared/unified_search/tsconfig.json:2\r\nsrc/platform/plugins/shared/vis_types/timeseries/jest.config.js:12\r\nsrc/platform/plugins/shared/vis_types/timeseries/tsconfig.json:11\r\nsrc/platform/plugins/shared/vis_types/timeseries/tsconfig.json:2\r\nsrc/platform/plugins/shared/visualizations/jest.config.js:12\r\nsrc/platform/plugins/shared/visualizations/tsconfig.json:2\r\nsrc/platform/plugins/shared/visualizations/tsconfig.json:6\r\nx-pack/platform/packages/private/kbn-random-sampling/jest.config.js:10\r\nx-pack/platform/packages/private/kbn-random-sampling/tsconfig.json:2\r\nx-pack/platform/plugins/private/graph/jest.config.js:10\r\nx-pack/platform/plugins/private/graph/tsconfig.json:13\r\nx-pack/platform/plugins/private/graph/tsconfig.json:3\r\nx-pack/platform/plugins/shared/lens/jest.config.js:10\r\nx-pack/platform/plugins/shared/lens/tsconfig.json:2\r\nx-pack/platform/plugins/shared/lens/tsconfig.json:6\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a382d35dd28ae43053d28bcc74778118a92b9540"}}]}]
BACKPORT-->
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [Sustainable Kibana Architecture: Update tooling to take into account
the new folders
(#202327)](https://github.com/elastic/kibana/pull/202327)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Gerard
Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2024-12-02T10:04:35Z","message":"Sustainable
Kibana Architecture: Update tooling to take into account the new folders
(#202327)\n\n## Summary\r\n\r\nOtherwise we're going to be removing APIs
of relocated
modules.","sha":"397314c9524bac9ea3e13155e352a889e5cd8cbe","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","Team:Operations","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Sustainable
Kibana Architecture: Update tooling to take into account the new
folders","number":202327,"url":"https://github.com/elastic/kibana/pull/202327","mergeCommit":{"message":"Sustainable
Kibana Architecture: Update tooling to take into account the new folders
(#202327)\n\n## Summary\r\n\r\nOtherwise we're going to be removing APIs
of relocated
modules.","sha":"397314c9524bac9ea3e13155e352a889e5cd8cbe"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202327","number":202327,"mergeCommit":{"message":"Sustainable
Kibana Architecture: Update tooling to take into account the new folders
(#202327)\n\n## Summary\r\n\r\nOtherwise we're going to be removing APIs
of relocated
modules.","sha":"397314c9524bac9ea3e13155e352a889e5cd8cbe"}}]}]
BACKPORT-->
Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
## Summary
As titled. This PR outlines several use cases around plugin optimization
that can be helpful to engineers. This PR is part of a series, but
divided to make review easier.
It also reworks the navigation a bit to make the optimization section a
bit more clear.
## Summary

At the moment, our package generator creates all packages with the type
`shared-common`. This means that we cannot enforce boundaries between
server-side-only code and the browser, and vice-versa.
- [x] I started fixing `packages/core/*`
- [x] It took me to fixing `src/core/` type to be identified by the
`plugin` pattern (`public` and `server` directories) vs. a package
(either common, or single-scoped)
- [x] Unsurprisingly, this extended to packages importing core packages
hitting the boundaries eslint rules. And other packages importing the
latter.
- [x] Also a bunch of `common` logic that shouldn't be so _common_ 🙃
### For maintainers
- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Dealing with circular dependencies between plugins has become a sharp
pain point for anyone developing plugins in Kibana.
### Providing dependencies to a plugin
First, a plugin defines its dependencies in its `kibana.jsonc` file as
one of three types:
- `required` - the dependency must be present and enabled -- will be
guaranteed in the lifecycle
- `optional` - the dependency can be missing or disabled -- will be
`undefined` in the lifecycle
- `requiredBundle` - the dependency is required as static code only --
will not be present in the lifecycle
Missing or circular dependencies are detected by the Kibana platform
when it starts.
### Providing dependencies in code
Our plugins are written in and type-checked by Typescript. As such, each
plugin needs to maintain Typescript types defining what the platform is
providing. This is done manually, and there is no enforcement mechanism
between that and the plugin Typescript types. If these dependency
definitions are inconsistent or stale, it can lead to host of issues:
- optional plugins typed as required that are disabled crash the plugin
at runtime;
- plugins that are no longer used still included in dependency checks;
- plugins marked as required or optional that are actually required
bundles.
- etc.
### Dependencies with side-effects
One of the interesting things that has come out of this has been
identifying plugins that provide dependent logic through side-effects,
rather than lifecycles.
As an example, `licensing` provides a lifecycle contracts, but also a
[route handler
context](https://github.com/elastic/kibana/blob/main/x-pack/plugins/licensing/server/licensing_route_handler_context.ts)
as middleware for a dependent plugin. Unfortunately, while this
dependency can be stated as `required` in a dependent plugin's
`kibana.jsonc`, the fact that this is a side-effect makes it incredible
difficult to understand the dependency without searching the code.
<img width="735" alt="Screenshot 2023-12-13 at 10 08 00 AM"
src="b4201c86-4811-4506-b2d0-be5bf8c372b0">
So the side-effect is more or less hidden from developers. This is
likely why we see other plugins using the lifecycle
[logic](https://github.com/elastic/kibana/blob/main/src/plugins/maps_ems/public/kibana_services.ts#L33-L37),
or copy-pasting licensing check code
[[1](https://github.com/elastic/kibana/blob/main/x-pack/plugins/actions/server/lib/license_state.ts),
[2](https://github.com/elastic/kibana/blob/main/x-pack/plugins/alerting/server/lib/license_state.ts)],
or relying on the route context side-effect.
## Proposed (initial) solution
This script is an initial attempt to both identify these problems and
surface a plugin's dependencies in a useful way. In addition, the script
will warn if the classes aren't typed well, not typed at all, or even
don't extend the `core` `Plugin` class.
<img width="1426" alt="Screenshot 2023-12-13 at 12 37 25 AM"
src="e044afb7-26f5-4d96-92db-d2eb0a3dfc6e">
<img width="1413" alt="Screenshot 2023-12-13 at 12 38 07 AM"
src="69217a34-9840-4d32-98de-eeeb863d4a50">
<img width="1071" alt="Screenshot 2023-12-13 at 12 38 35 AM"
src="57736027-2d10-44bf-8230-29fdb8b77cb2">
For side-effects, identifying them is key, and then refactoring the
plugins to provide appropriate logic in the `start` or `setup`
contracts.
## Next steps
- [x] refine the logic
- [ ] write tests
- [ ] add `--fix` option
I'm also considering (in another PR), outputting a consistent type
definition file-- perhaps `kibana.d.ts`-- to the plugin from which the
implementing classes could `Omit<>` or `Pick<>` the relevant contracts.
The existing `build_api_docs` script takes about ~10m to run and
generate the API docs. That's not too bad for the daily CI task that
generates the docs. However, even if you're just interested in getting
some stats on a single plugin/package it runs the full script. We often
have to run this script locally to check the stats in detail to improve
JSDoc and missing exports which is quite cumbersome if it takes this
long to run after each code change.
This PR updates the script in the following way: If both the options
`--stats` and `--plugin` (with a single plugin/package) are set, it will
not generate a TS project for the whole Kibana codebase but just the
code related to that plugin/package. API docs will then not be written
to avoid inconsistencies and just the stats will be logged.
Depending on the size of the package/plugin this can reduce the time
needed to run the script down to a few seconds.
Fixes https://github.com/elastic/kibana/issues/149344
This PR migrates all plugins to packages automatically. It does this
using `node scripts/lint_packages` to automatically migrate
`kibana.json` files to `kibana.jsonc` files. By doing this automatically
we can simplify many build and testing procedures to only support
packages, and not both "packages" and "synthetic packages" (basically
pointers to plugins).
The majority of changes are in operations related code, so we'll be
having operations review this before marking it ready for review. The
vast majority of the code owners are simply pinged because we deleted
all `kibana.json` files and replaced them with `kibana.jsonc` files, so
we plan on leaving the PR ready-for-review for about 24 hours before
merging (after feature freeze), assuming we don't have any blockers
(especially from @elastic/kibana-core since there are a few core
specific changes, though the majority were handled in #149370).
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
In order to avoid searching the `api_docs` directory at the root of the
repo in VSCode we have to exclude all api_docs dirs from search, so
instead of putting the source of the code that generates the api_docs in
a similarly named dir this just removes that wrapper.
We're seeing many extra eslint-disabled counts on PRs right now because
new .gitignore'd files are being written to plugins/packages. This fixes
the logic to stop checking every file in a plugin/package directory, and
instead only check files that are committed to the repository.
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Dearest Reviewers 👋
I've been working on this branch with @mistic and @tylersmalley and
we're really confident in these changes. Additionally, this changes code
in nearly every package in the repo so we don't plan to wait for reviews
to get in before merging this. If you'd like to have a concern
addressed, please feel free to leave a review, but assuming that nobody
raises a blocker in the next 24 hours we plan to merge this EOD pacific
tomorrow, 12/22.
We'll be paying close attention to any issues this causes after merging
and work on getting those fixed ASAP. 🚀
---
The operations team is not confident that we'll have the time to achieve
what we originally set out to accomplish by moving to Bazel with the
time and resources we have available. We have also bought ourselves some
headroom with improvements to babel-register, optimizer caching, and
typescript project structure.
In order to make sure we deliver packages as quickly as possible (many
teams really want them), with a usable and familiar developer
experience, this PR removes Bazel for building packages in favor of
using the same JIT transpilation we use for plugins.
Additionally, packages now use `kbn_references` (again, just copying the
dx from plugins to packages).
Because of the complex relationships between packages/plugins and in
order to prepare ourselves for automatic dependency detection tools we
plan to use in the future, this PR also introduces a "TS Project Linter"
which will validate that every tsconfig.json file meets a few
requirements:
1. the chain of base config files extended by each config includes
`tsconfig.base.json` and not `tsconfig.json`
1. the `include` config is used, and not `files`
2. the `exclude` config includes `target/**/*`
3. the `outDir` compiler option is specified as `target/types`
1. none of these compiler options are specified: `declaration`,
`declarationMap`, `emitDeclarationOnly`, `skipLibCheck`, `target`,
`paths`
4. all references to other packages/plugins use their pkg id, ie:
```js
// valid
{
"kbn_references": ["@kbn/core"]
}
// not valid
{
"kbn_references": [{ "path": "../../../src/core/tsconfig.json" }]
}
```
5. only packages/plugins which are imported somewhere in the ts code are
listed in `kbn_references`
This linter is not only validating all of the tsconfig.json files, but
it also will fix these config files to deal with just about any
violation that can be produced. Just run `node scripts/ts_project_linter
--fix` locally to apply these fixes, or let CI take care of
automatically fixing things and pushing the changes to your PR.
> **Example:** [`64e93e5`
(#146212)](64e93e5806)
When I merged main into my PR it included a change which removed the
`@kbn/core-injected-metadata-browser` package. After resolving the
conflicts I missed a few tsconfig files which included references to the
now removed package. The TS Project Linter identified that these
references were removed from the code and pushed a change to the PR to
remove them from the tsconfig.json files.
## No bazel? Does that mean no packages??
Nope! We're still doing packages but we're pretty sure now that we won't
be using Bazel to accomplish the 'distributed caching' and 'change-based
tasks' portions of the packages project.
This PR actually makes packages much easier to work with and will be
followed up with the bundling benefits described by the original
packages RFC. Then we'll work on documentation and advocacy for using
packages for any and all new code.
We're pretty confident that implementing distributed caching and
change-based tasks will be necessary in the future, but because of
recent improvements in the repo we think we can live without them for
**at least** a year.
## Wait, there are still BUILD.bazel files in the repo
Yes, there are still three webpack bundles which are built by Bazel: the
`@kbn/ui-shared-deps-npm` DLL, `@kbn/ui-shared-deps-src` externals, and
the `@kbn/monaco` workers. These three webpack bundles are still created
during bootstrap and remotely cached using bazel. The next phase of this
project is to figure out how to get the package bundling features
described in the RFC with the current optimizer, and we expect these
bundles to go away then. Until then any package that is used in those
three bundles still needs to have a BUILD.bazel file so that they can be
referenced by the remaining webpack builds.
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
* [packages] add kibana.jsonc files
* auto-migrate to kibana.jsonc
* support interactive pkg id selection too
* remove old codeowners entry
* skip codeowners generation when .github/CODEOWNERS doesn't exist
* fall back to format validation if user is offline
* update question style
* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
* refact(NA): apply root_input_dir=src to each already created pkg
* refact(NA): update package generator
* fix(NA): correctly use rootDir
* fix(NA): use root input dir on latest introduced pkgs for jsts_transpiler macro
* chore(NA): merge with main
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [type-summarizer] reimplement for broader support
* Enable sourceMaps in all packages
* include naming collision in summarizePackage test
* fix readmes
* remove unnecessary transient dependency
* remove code that was commented out
* remove outdated todo comment
* ensure errors triggered by untyped-exports are ligible
* remove unused import
* break out snippet generation from AstIndexer
* refactor several massive files into smaller pieces and add more inline docs
* fix typos
* update jest snapshots
* add sections to readme that points people to the useful parts of the source code along with a high-level overview of how the type-summarizer works
* remove --dump flag, it doesn't work
* use decName instead of calling names.get a second time
* include `export` as invalid name
When we created the `aiops-utils` package originally, we were not aware that packages could also live within `x-pack`. Since `aiops` is a platinum feature and maintained by the ML team, this moves the package from `/packages` to `/x-pack/packages/ml`. The license header of the package files now match the `aiops` plugin again.
* chore(NA): upgrade bazel into v5
* chore(NA): initial work to upgrade to rules v5
* chore(NA): remove @elastic/datemath jest unit test for eslint plugin imports
* chore(NA): removed packager tsc_wrapped added my mistake