mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > * This PR has been auto-generated. > * Any manual contributions will be lost if the 'relocate' script is re-run. > * Try to obtain the missing reviews / approvals before applying manual fixes, and/or keep your changes in a .patch / git stash. > * Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. Are you trying to rebase this PR to solve merge conflicts? Please follow the steps describe [here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E). #### 29 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/charts-plugin` | `src/platform/plugins/shared/charts` | | `@kbn/data-plugin` | `src/platform/plugins/shared/data` | | `@kbn/event-annotation-listing-plugin` | `src/platform/plugins/private/event_annotation_listing` | | `@kbn/event-annotation-plugin` | `src/platform/plugins/private/event_annotation` | | `@kbn/expression-gauge-plugin` | `src/platform/plugins/shared/chart_expressions/expression_gauge` | | `@kbn/expression-heatmap-plugin` | `src/platform/plugins/shared/chart_expressions/expression_heatmap` | | `@kbn/expression-legacy-metric-vis-plugin` | `src/platform/plugins/shared/chart_expressions/expression_legacy_metric` | | `@kbn/expression-metric-vis-plugin` | `src/platform/plugins/shared/chart_expressions/expression_metric` | | `@kbn/expression-partition-vis-plugin` | `src/platform/plugins/shared/chart_expressions/expression_partition_vis` | | `@kbn/expression-tagcloud-plugin` | `src/platform/plugins/shared/chart_expressions/expression_tagcloud` | | `@kbn/expression-xy-plugin` | `src/platform/plugins/shared/chart_expressions/expression_xy` | | `@kbn/expressions-plugin` | `src/platform/plugins/shared/expressions` | | `@kbn/graph-plugin` | `x-pack/platform/plugins/private/graph` | | `@kbn/lens-plugin` | `x-pack/platform/plugins/shared/lens` | | `@kbn/unified-search-plugin` | `src/platform/plugins/shared/unified_search` | | `@kbn/url-forwarding-plugin` | `src/platform/plugins/private/url_forwarding` | | `@kbn/vis-default-editor-plugin` | `src/platform/plugins/private/vis_default_editor` | | `@kbn/vis-type-gauge-plugin` | `src/platform/plugins/private/vis_types/gauge` | | `@kbn/vis-type-heatmap-plugin` | `src/platform/plugins/private/vis_types/heatmap` | | `@kbn/vis-type-metric-plugin` | `src/platform/plugins/private/vis_types/metric` | | `@kbn/vis-type-pie-plugin` | `src/platform/plugins/private/vis_types/pie` | | `@kbn/vis-type-table-plugin` | `src/platform/plugins/private/vis_types/table` | | `@kbn/vis-type-tagcloud-plugin` | `src/platform/plugins/private/vis_types/tagcloud` | | `@kbn/vis-type-timelion-plugin` | `src/platform/plugins/private/vis_types/timelion` | | `@kbn/vis-type-timeseries-plugin` | `src/platform/plugins/shared/vis_types/timeseries` | | `@kbn/vis-type-vega-plugin` | `src/platform/plugins/private/vis_types/vega` | | `@kbn/vis-type-vislib-plugin` | `src/platform/plugins/private/vis_types/vislib` | | `@kbn/vis-type-xy-plugin` | `src/platform/plugins/private/vis_types/xy` | | `@kbn/visualizations-plugin` | `src/platform/plugins/shared/visualizations` | #### 18 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/calculate-width-from-char-count` | `src/platform/packages/shared/kbn-calculate-width-from-char-count` | | `@kbn/chart-expressions-common` | `src/platform/packages/shared/chart-expressions-common` | | `@kbn/chart-icons` | `src/platform/packages/shared/kbn-chart-icons` | | `@kbn/coloring` | `src/platform/packages/shared/kbn-coloring` | | `@kbn/data-service` | `src/platform/packages/shared/kbn-data-service` | | `@kbn/dom-drag-drop` | `src/platform/packages/shared/kbn-dom-drag-drop` | | `@kbn/event-annotation-common` | `src/platform/packages/shared/kbn-event-annotation-common` | | `@kbn/event-annotation-components` | `src/platform/packages/shared/kbn-event-annotation-components` | | `@kbn/interpreter` | `src/platform/packages/shared/kbn-interpreter` | | `@kbn/lens-formula-docs` | `src/platform/packages/private/kbn-lens-formula-docs` | | `@kbn/managed-content-badge` | `src/platform/packages/private/kbn-managed-content-badge` | | `@kbn/random-sampling` | `x-pack/platform/packages/private/kbn-random-sampling` | | `@kbn/sort-predicates` | `src/platform/packages/shared/kbn-sort-predicates` | | `@kbn/timelion-grammar` | `src/platform/packages/private/kbn-timelion-grammar` | | `@kbn/tinymath` | `src/platform/packages/private/kbn-tinymath` | | `@kbn/transpose-utils` | `src/platform/packages/private/kbn-transpose-utils` | | `@kbn/visualization-ui-components` | `src/platform/packages/shared/kbn-visualization-ui-components` | | `@kbn/visualization-utils` | `src/platform/packages/shared/kbn-visualization-utils` | <details > <summary>Updated references</summary> ``` ./.eslintignore ./.eslintrc.js ./.github/paths-labeller.yml ./.i18nrc.json ./docs/developer/architecture/core/elasticsearch-service.asciidoc ./docs/developer/architecture/development-visualize-index.asciidoc ./docs/developer/best-practices/index.asciidoc ./docs/developer/plugin-list.asciidoc ./examples/search_examples/public/plugin.ts ./package.json ./packages/kbn-docs-utils/src/build_api_declarations/extract_import_refs.test.ts ./packages/kbn-docs-utils/src/utils.ts ./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts ./packages/kbn-repo-source-classifier/src/repo_source_classifier.ts ./packages/kbn-ts-projects/config-paths.json ./src/dev/build/tasks/package_json/find_used_dependencies.ts ./src/dev/code_coverage/ingest_coverage/__tests__/enumerate_patterns.test.js ./src/dev/code_coverage/ingest_coverage/__tests__/mocks/team_assign_mock.txt ./src/dev/code_coverage/ingest_coverage/__tests__/transforms.test.js ./src/dev/code_coverage/ingest_coverage/integration_tests/mocks/jest-combined/bulk-data.json ./src/dev/storybook/aliases.ts ./src/platform/packages/private/kbn-lens-formula-docs/jest.config.js ./src/platform/packages/private/kbn-managed-content-badge/jest.config.js ./src/platform/packages/private/kbn-repo-packages/package-map.json ./src/platform/packages/private/kbn-tinymath/README.md ./src/platform/packages/private/kbn-tinymath/jest.config.js ./src/platform/packages/private/kbn-transpose-utils/jest.config.js ./src/platform/packages/shared/chart-expressions-common/jest.config.js ./src/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js ./src/platform/packages/shared/kbn-chart-icons/jest.config.js ./src/platform/packages/shared/kbn-coloring/jest.config.js ./src/platform/packages/shared/kbn-data-service/jest.config.js ./src/platform/packages/shared/kbn-dom-drag-drop/jest.config.js ./src/platform/packages/shared/kbn-event-annotation-common/jest.config.js ./src/platform/packages/shared/kbn-event-annotation-components/jest.config.js ./src/platform/packages/shared/kbn-interpreter/jest.config.js ./src/platform/packages/shared/kbn-sort-predicates/jest.config.js ./src/platform/packages/shared/kbn-visualization-ui-components/jest.config.js ./src/platform/packages/shared/kbn-visualization-utils/jest.config.js ./src/platform/plugins/private/event_annotation/jest.config.js ./src/platform/plugins/private/event_annotation_listing/jest.config.js ./src/platform/plugins/private/url_forwarding/jest.config.js ./src/platform/plugins/private/vis_default_editor/jest.config.js ./src/platform/plugins/private/vis_types/gauge/jest.config.js ./src/platform/plugins/private/vis_types/heatmap/jest.config.js ./src/platform/plugins/private/vis_types/metric/jest.config.js ./src/platform/plugins/private/vis_types/pie/jest.config.js ./src/platform/plugins/private/vis_types/table/jest.config.js ./src/platform/plugins/private/vis_types/tagcloud/jest.config.js ./src/platform/plugins/private/vis_types/timelion/jest.config.js ./src/platform/plugins/private/vis_types/vega/jest.config.js ./src/platform/plugins/private/vis_types/vislib/jest.config.js ./src/platform/plugins/private/vis_types/xy/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js ./src/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js ./src/platform/plugins/shared/charts/jest.config.js ./src/platform/plugins/shared/custom_integrations/jest.config.js ./src/platform/plugins/shared/data/jest.config.js ./src/platform/plugins/shared/expressions/README.asciidoc ./src/platform/plugins/shared/expressions/jest.config.js ./src/platform/plugins/shared/unified_search/jest.config.js ./src/platform/plugins/shared/vis_types/timeseries/jest.config.js ./src/platform/plugins/shared/visualizations/jest.config.js ./src/plugins/vis_types/timeseries/public/application/components/aggs/math.js ./tsconfig.base.json ./tsconfig.base.type_check.json ./tsconfig.refs.json ./x-pack/.i18nrc.json ./x-pack/platform/packages/private/kbn-random-sampling/jest.config.js ./x-pack/platform/packages/private/ml/date_utils/src/date_utils.ts ./x-pack/platform/plugins/private/graph/README.md ./x-pack/platform/plugins/private/graph/jest.config.js ./x-pack/platform/plugins/private/graph/public/components/venn_diagram/vennjs/index.ts ./x-pack/platform/plugins/private/watcher/public/legacy/time_buckets.js ./x-pack/platform/plugins/shared/cases/public/components/markdown_editor/use_plugins.ts ./x-pack/platform/plugins/shared/lens/jest.config.js ./x-pack/platform/plugins/shared/lens/readme.md ./x-pack/platform/plugins/shared/lens/server/embeddable/make_lens_embeddable_factory.ts ./x-pack/platform/plugins/shared/lens/server/migrations/saved_object_migrations.ts ./x-pack/platform/plugins/shared/lens/tsconfig.type_check.json ./x-pack/platform/plugins/shared/ml/public/application/explorer/explorer_charts/explorer_charts_container.js ./x-pack/platform/plugins/shared/ml/public/application/services/field_format_service.ts ./x-pack/platform/plugins/shared/ml/public/application/util/chart_utils.js ./x-pack/solutions/observability/plugins/observability/common/utils/get_inspect_response.ts ./x-pack/solutions/observability/plugins/observability_shared/common/utils/get_inspect_response.ts ./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/autocomplete/index.mock.ts ./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/fields/index.mock.ts ./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/filter_field_to_list/index.ts ./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.test.ts ./x-pack/solutions/security/packages/kbn-securitysolution-autocomplete/src/hooks/use_field_value_autocomplete/index.ts ./x-pack/solutions/security/packages/kbn-securitysolution-list-utils/src/helpers/index.ts ./x-pack/solutions/security/plugins/security_solution/public/common/hooks/use_app_toasts.ts ./x-pack/solutions/security/plugins/security_solution/server/lib/timeline/constants.ts ./x-pack/solutions/security/plugins/timelines/public/hooks/use_app_toasts.ts ./yarn.lock .github/CODEOWNERS ``` </details><details > <summary>Updated relative paths</summary> ``` src/platform/packages/private/kbn-lens-formula-docs/jest.config.js:12 src/platform/packages/private/kbn-lens-formula-docs/tsconfig.json:2 src/platform/packages/private/kbn-managed-content-badge/jest.config.js:12 src/platform/packages/private/kbn-managed-content-badge/tsconfig.json:2 src/platform/packages/private/kbn-timelion-grammar/tsconfig.json:2 src/platform/packages/private/kbn-tinymath/jest.config.js:12 src/platform/packages/private/kbn-tinymath/tsconfig.json:2 src/platform/packages/private/kbn-transpose-utils/jest.config.js:12 src/platform/packages/private/kbn-transpose-utils/tsconfig.json:2 src/platform/packages/shared/chart-expressions-common/jest.config.js:12 src/platform/packages/shared/chart-expressions-common/tsconfig.json:2 src/platform/packages/shared/kbn-calculate-width-from-char-count/jest.config.js:12 src/platform/packages/shared/kbn-calculate-width-from-char-count/tsconfig.json:2 src/platform/packages/shared/kbn-chart-icons/jest.config.js:12 src/platform/packages/shared/kbn-chart-icons/tsconfig.json:2 src/platform/packages/shared/kbn-coloring/jest.config.js:12 src/platform/packages/shared/kbn-coloring/tsconfig.json:2 src/platform/packages/shared/kbn-data-service/jest.config.js:12 src/platform/packages/shared/kbn-data-service/tsconfig.json:2 src/platform/packages/shared/kbn-dom-drag-drop/jest.config.js:12 src/platform/packages/shared/kbn-dom-drag-drop/tsconfig.json:2 src/platform/packages/shared/kbn-event-annotation-common/jest.config.js:12 src/platform/packages/shared/kbn-event-annotation-common/tsconfig.json:2 src/platform/packages/shared/kbn-event-annotation-components/jest.config.js:12 src/platform/packages/shared/kbn-event-annotation-components/tsconfig.json:2 src/platform/packages/shared/kbn-interpreter/jest.config.js:12 src/platform/packages/shared/kbn-interpreter/tsconfig.json:2 src/platform/packages/shared/kbn-sort-predicates/jest.config.js:12 src/platform/packages/shared/kbn-sort-predicates/tsconfig.json:2 src/platform/packages/shared/kbn-visualization-ui-components/jest.config.js:12 src/platform/packages/shared/kbn-visualization-ui-components/tsconfig.json:2 src/platform/packages/shared/kbn-visualization-utils/jest.config.js:12 src/platform/packages/shared/kbn-visualization-utils/tsconfig.json:2 src/platform/plugins/private/event_annotation/jest.config.js:12 src/platform/plugins/private/event_annotation/tsconfig.json:2 src/platform/plugins/private/event_annotation_listing/jest.config.js:12 src/platform/plugins/private/event_annotation_listing/tsconfig.json:2 src/platform/plugins/private/url_forwarding/jest.config.js:12 src/platform/plugins/private/url_forwarding/tsconfig.json:2 src/platform/plugins/private/vis_default_editor/README.md:8 src/platform/plugins/private/vis_default_editor/jest.config.js:12 src/platform/plugins/private/vis_default_editor/tsconfig.json:2 src/platform/plugins/private/vis_types/gauge/jest.config.js:12 src/platform/plugins/private/vis_types/gauge/tsconfig.json:2 src/platform/plugins/private/vis_types/heatmap/jest.config.js:12 src/platform/plugins/private/vis_types/heatmap/tsconfig.json:2 src/platform/plugins/private/vis_types/metric/jest.config.js:12 src/platform/plugins/private/vis_types/metric/tsconfig.json:2 src/platform/plugins/private/vis_types/pie/jest.config.js:12 src/platform/plugins/private/vis_types/pie/tsconfig.json:2 src/platform/plugins/private/vis_types/table/jest.config.js:12 src/platform/plugins/private/vis_types/table/tsconfig.json:2 src/platform/plugins/private/vis_types/tagcloud/jest.config.js:12 src/platform/plugins/private/vis_types/tagcloud/tsconfig.json:2 src/platform/plugins/private/vis_types/timelion/jest.config.js:12 src/platform/plugins/private/vis_types/timelion/tsconfig.json:2 src/platform/plugins/private/vis_types/vega/jest.config.js:12 src/platform/plugins/private/vis_types/vega/tsconfig.json:2 src/platform/plugins/private/vis_types/vislib/jest.config.js:12 src/platform/plugins/private/vis_types/vislib/tsconfig.json:2 src/platform/plugins/private/vis_types/xy/jest.config.js:12 src/platform/plugins/private/vis_types/xy/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_gauge/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_gauge/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_heatmap/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_heatmap/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_legacy_metric/.storybook/main.js:17 src/platform/plugins/shared/chart_expressions/expression_legacy_metric/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_legacy_metric/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_metric/.storybook/main.js:17 src/platform/plugins/shared/chart_expressions/expression_metric/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_metric/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_partition_vis/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_partition_vis/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_tagcloud/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_tagcloud/tsconfig.json:2 src/platform/plugins/shared/chart_expressions/expression_xy/jest.config.js:12 src/platform/plugins/shared/chart_expressions/expression_xy/tsconfig.json:2 src/platform/plugins/shared/charts/jest.config.js:12 src/platform/plugins/shared/charts/tsconfig.json:2 src/platform/plugins/shared/data/jest.config.js:12 src/platform/plugins/shared/data/tsconfig.json:13 src/platform/plugins/shared/data/tsconfig.json:2 src/platform/plugins/shared/expressions/jest.config.js:12 src/platform/plugins/shared/expressions/tsconfig.json:2 src/platform/plugins/shared/unified_search/jest.config.js:12 src/platform/plugins/shared/unified_search/tsconfig.json:2 src/platform/plugins/shared/vis_types/timeseries/jest.config.js:12 src/platform/plugins/shared/vis_types/timeseries/tsconfig.json:11 src/platform/plugins/shared/vis_types/timeseries/tsconfig.json:2 src/platform/plugins/shared/visualizations/jest.config.js:12 src/platform/plugins/shared/visualizations/tsconfig.json:2 src/platform/plugins/shared/visualizations/tsconfig.json:6 x-pack/platform/packages/private/kbn-random-sampling/jest.config.js:10 x-pack/platform/packages/private/kbn-random-sampling/tsconfig.json:2 x-pack/platform/plugins/private/graph/jest.config.js:10 x-pack/platform/plugins/private/graph/tsconfig.json:13 x-pack/platform/plugins/private/graph/tsconfig.json:3 x-pack/platform/plugins/shared/lens/jest.config.js:10 x-pack/platform/plugins/shared/lens/tsconfig.json:2 x-pack/platform/plugins/shared/lens/tsconfig.json:6 ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
---|---|---|
.. | ||
src | ||
index.ts | ||
jest.config.js | ||
kibana.jsonc | ||
package.json | ||
README.mdx | ||
tsconfig.json |
--- id: kibDevDocsOpsRepoSourceClassifier slug: /kibana-dev-docs/ops/repo-source-classifier title: "@kbn/repo-source-classifier" description: 'The tool which classifies source files into categories' date: 2022-07-25 tags: ['kibana', 'dev', 'contributor', 'operations', 'packages', 'scripts'] --- This package exposes a class which can be used to efficiently classify all of the files in the repository into one of the following groups: - `server package`: plugin code in the root `server/` directory, eventually this will include packages of type `server-plugin` or `server-shared` - `browser package`: plugin code in the root `public/` directory (and a few others in specific plugins), eventually this will include packages of type `browser-plugin` or `browser-shared` - `common packages`: includes any existing package, plugin code in root `common/` directories, (and a few others in specific plugins), Eventually this will include `common-shared` packages - `tests or mocks`: code that is loaded by jest/storybook, and mocks/helpers intended for use by that code. These files usually live along side package code but will have a separate dependency tree and are pieces of code which should never end up in the product. - `static`: static files, currently any .json file or things loaded via `raw-loader` in browser code - `tooling`: scripts, config files for tools like eslint, webpack, etc. - `non-package`: code that lives outside of packages/plugins or doesn't fit into other more specific categories. Once the package project is complete this category should be limited to just `@kbn/pm` This is a map of types to the types they are allowed to import: - `non-package`: `non-package`, `server package`, `browser package`, `common package` or `static` - `server package`: `common package`, `server package`, or `static` - `browser package`: `common package`, `browser package`, or `static` - `common package`: `common package` or`static` - `static`: static files are not allowed to have dependencies - `tests or mocks`: anything - `tooling`: anything The `RepoSourceClassifier` class implements several caches to make these lookups as efficient as possible in ESLint when all imports across the entire repository are validated. This cache lasts for the lifetime of the class and to invalidate the cache the object should just be discarded and a new instance created. A CLI is provided for inspecting the results of the classifier, check out `node scripts/classify_source --help` for more information about usage.