mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 19:13:14 -04:00
6 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
adb4bdf8d8
|
SKA: Extract list of Kibana solutions into a dedicated package (#213353)
## Summary The intent is to have a centralised place to store the list of Kibana solutions and serverless project types. To that end, this PR creates a `@kbn/projects-solutions-groups` package. It also adds the new solution type `'chat'`. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
702c9c49dc
|
[CI] Only emit .d.ts when running typecheck (#209259)
## Summary Stop emitting any `.js` files during typechecking. We only depend on the declarations, not the emitted, compiled javascript files. An added benefit, is making some bad import errors more obvious. We'll no longer try to build javascript files in place if a poor import/require is made, rather the error of importing outside projects (in the forest of a bunch of errors possibly) will be visible in the typescript logs: ``` # instead of: proc [tsc] error TS5055: Cannot write file '/opt/buildkite-agent/builds/bk-agent-prod-gcp-1741789017236110254/elastic/kibana-pull-request/kibana/src/platform/packages/shared/kbn-babel-register/cache/no_cache_cache.js' because it would overwrite input file. # we'll see: ... several others like this proc [tsc] src/platform/packages/shared/kbn-grok-ui/scripts/generate_patterns.js:10:9 - error TS6307: File '/Users/alex/Git/elastic-kibana/src/setup_node_env/index.js' is not listed within the file list of project '/Users/alex/Git/elastic-kibana/src/platform/packages/shared/kbn-grok-ui/tsconfig.type_check.json'. Projects must list all files or use an 'include' pattern. proc [tsc] proc [tsc] 10 require('../../../../../setup_node_env'); ... several others like this ``` |
||
|
6a7c904f92
|
SKA: Relocate "platform" packages that remain on /packages (#208704)
## Summary The `/packages` folder at the root of the Kibana repository used to contain a lot of packages. In the context of SKA, they have been gradually moved to various locations: * `src/platform/packages` * `x-pack/platform/packages` * `src/core/packages` Currently, only `devOnly: true` packages are left in this folder. This comprises libraries for CLI scripts as well as testing utilities. With this PR, we are moving ~half of these packages under `src/platform/packages/(private|shared)/`. In particular, we are moving those packages that are being used from platform and/or solutions. Since they are `"devOnly": true`, this means they are ONLY used from tests, cypress tests, storybook configs, ./scripts/ folders inside some modules, or other non-prod-time logic. Nonetheless, they are effectively referenced from platform and/or solutions code, hence I decided they should be placed under `platform` folders. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
ca5a08db00
|
Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-security (#202748)
## 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). #### 4 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/encrypted-saved-objects-plugin` | `x-pack/platform/plugins/shared/encrypted_saved_objects` | | `@kbn/interactive-setup-plugin` | `src/platform/plugins/private/interactive_setup` | | `@kbn/security-plugin` | `x-pack/platform/plugins/shared/security` | | `@kbn/spaces-plugin` | `x-pack/platform/plugins/shared/spaces` | #### 14 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/crypto` | `src/platform/packages/shared/kbn-crypto` | | `@kbn/handlebars` | `src/platform/packages/private/kbn-handlebars` | | `@kbn/safer-lodash-set` | `src/platform/packages/shared/kbn-safer-lodash-set` | | `@kbn/security-api-key-management` | `x-pack/platform/packages/shared/security/api_key_management` | | `@kbn/security-authorization-core` | `x-pack/platform/packages/private/security/authorization_core` | | `@kbn/security-authorization-core-common` | `x-pack/platform/packages/private/security/authorization_core_common` | | `@kbn/security-form-components` | `x-pack/platform/packages/shared/security/form_components` | | `@kbn/security-hardening` | `src/platform/packages/shared/kbn-security-hardening` | | `@kbn/security-plugin-types-common` | `x-pack/platform/packages/shared/security/plugin_types_common` | | `@kbn/security-plugin-types-public` | `x-pack/platform/packages/shared/security/plugin_types_public` | | `@kbn/security-plugin-types-server` | `x-pack/platform/packages/shared/security/plugin_types_server` | | `@kbn/security-role-management-model` | `x-pack/platform/packages/private/security/role_management_model` | | `@kbn/security-ui-components` | `x-pack/platform/packages/private/security/ui_components` | | `@kbn/user-profile-components` | `src/platform/packages/shared/kbn-user-profile-components` | <details open> <summary>Script errors</summary> ``` Cannot replace multiple occurrences of "../.." in the same line, please fix manually: /Users/dokmic/work/elastic/kibana/src/platform/packages/shared/kbn-safer-lodash-set/package.json:6 ``` </details><details > <summary>Updated references</summary> ``` ./.buildkite/scripts/steps/test/kbn_handlebars.sh ./.eslintrc.js ./.i18nrc.json ./docs/developer/advanced/sharing-saved-objects.asciidoc ./docs/developer/plugin-list.asciidoc ./legacy_rfcs/text/0007_lifecycle_unblocked.md ./legacy_rfcs/text/0016_ols_phase_1.md ./package.json ./packages/kbn-dependency-usage/src/dependency_graph/providers/cruiser.test.ts ./packages/kbn-ts-projects/config-paths.json ./packages/kbn-user-profile-components/src/user_profile.ts ./src/core/packages/saved-objects/common/src/types.ts ./src/core/packages/security/server/src/audit_logging/audit_logger.ts ./src/core/packages/user-profile/common/src/user_profile.ts ./src/dev/precommit_hook/casing_check_config.js ./src/platform/packages/private/kbn-handlebars/README.md ./src/platform/packages/private/kbn-handlebars/index.test.ts ./src/platform/packages/private/kbn-handlebars/index.ts ./src/platform/packages/private/kbn-handlebars/jest.config.js ./src/platform/packages/private/kbn-handlebars/scripts/check_for_upstream_updates.sh ./src/platform/packages/private/kbn-handlebars/scripts/print_ast.js ./src/platform/packages/private/kbn-handlebars/scripts/update_upstream_git_hash.sh ./src/platform/packages/private/kbn-handlebars/src/__jest__/test_bench.ts ./src/platform/packages/private/kbn-handlebars/src/handlebars.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.basic.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.blocks.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.builtins.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.compiler.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.data.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.helpers.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.partials.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.regressions.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.security.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.strict.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.subexpressions.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.utils.test.ts ./src/platform/packages/private/kbn-handlebars/src/spec/index.whitespace_control.test.ts ./src/platform/packages/private/kbn-handlebars/src/symbols.ts ./src/platform/packages/private/kbn-handlebars/src/types.ts ./src/platform/packages/private/kbn-handlebars/src/utils.ts ./src/platform/packages/private/kbn-handlebars/src/visitor.ts ./src/platform/packages/private/kbn-repo-packages/package-map.json ./src/platform/packages/private/kbn-ui-shared-deps-src/BUILD.bazel ./src/platform/packages/shared/kbn-crypto/jest.config.js ./src/platform/packages/shared/kbn-safer-lodash-set/fp/assoc.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/fp/assoc.js ./src/platform/packages/shared/kbn-safer-lodash-set/fp/assocPath.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/fp/assocPath.js ./src/platform/packages/shared/kbn-safer-lodash-set/fp/index.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/fp/index.js ./src/platform/packages/shared/kbn-safer-lodash-set/fp/set.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/fp/set.js ./src/platform/packages/shared/kbn-safer-lodash-set/fp/setWith.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/fp/setWith.js ./src/platform/packages/shared/kbn-safer-lodash-set/index.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/index.js ./src/platform/packages/shared/kbn-safer-lodash-set/lodash/_baseSet.js ./src/platform/packages/shared/kbn-safer-lodash-set/lodash/set.js ./src/platform/packages/shared/kbn-safer-lodash-set/lodash/setWith.js ./src/platform/packages/shared/kbn-safer-lodash-set/package.json ./src/platform/packages/shared/kbn-safer-lodash-set/scripts/_get_lodash.sh ./src/platform/packages/shared/kbn-safer-lodash-set/scripts/license-header.txt ./src/platform/packages/shared/kbn-safer-lodash-set/scripts/save_state.sh ./src/platform/packages/shared/kbn-safer-lodash-set/scripts/update.sh ./src/platform/packages/shared/kbn-safer-lodash-set/set.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/set.js ./src/platform/packages/shared/kbn-safer-lodash-set/setWith.d.ts ./src/platform/packages/shared/kbn-safer-lodash-set/setWith.js ./src/platform/packages/shared/kbn-safer-lodash-set/test/fp.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/fp_assoc.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/fp_assocPath.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/fp_patch_test.js ./src/platform/packages/shared/kbn-safer-lodash-set/test/fp_set.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/fp_setWith.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/index.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/patch_test.js ./src/platform/packages/shared/kbn-safer-lodash-set/test/set.ts ./src/platform/packages/shared/kbn-safer-lodash-set/test/setWith.ts ./src/platform/packages/shared/kbn-user-profile-components/jest.config.js ./src/platform/plugins/private/interactive_setup/jest.config.js ./tsconfig.base.json ./x-pack/.i18nrc.json ./x-pack/platform/packages/private/security/authorization_core/jest.config.js ./x-pack/platform/packages/private/security/authorization_core_common/jest.config.js ./x-pack/platform/packages/private/security/role_management_model/jest.config.js ./x-pack/platform/packages/private/security/ui_components/jest.config.js ./x-pack/platform/packages/shared/security/api_key_management/jest.config.js ./x-pack/platform/packages/shared/security/form_components/jest.config.js ./x-pack/platform/plugins/shared/cases/server/authorization/index.ts ./x-pack/platform/plugins/shared/cases/server/authorization/types.ts ./x-pack/platform/plugins/shared/cases/server/connectors/cases/utils.ts ./x-pack/platform/plugins/shared/cases/server/routes/api/utils.ts ./x-pack/platform/plugins/shared/encrypted_saved_objects/README.md ./x-pack/platform/plugins/shared/encrypted_saved_objects/jest.config.js ./x-pack/platform/plugins/shared/fleet/common/http_authorization_header.ts ./x-pack/platform/plugins/shared/rule_registry/server/lib/get_is_kibana_request.ts ./x-pack/platform/plugins/shared/security/jest.config.js ./x-pack/platform/plugins/shared/spaces/jest.config.js ./x-pack/solutions/security/plugins/security_solution/server/lib/timeline/routes/notes/get_notes.ts ./yarn.lock .github/CODEOWNERS ``` </details><details > <summary>Updated relative paths</summary> ``` src/platform/packages/private/kbn-handlebars/jest.config.js:8 src/platform/packages/private/kbn-handlebars/src/spec/index.regressions.test.ts:276 src/platform/packages/private/kbn-handlebars/src/spec/index.regressions.test.ts:277 src/platform/packages/private/kbn-handlebars/tsconfig.json:2 src/platform/packages/shared/kbn-crypto/jest.config.js:12 src/platform/packages/shared/kbn-crypto/tsconfig.json:2 src/platform/packages/shared/kbn-safer-lodash-set/package.json:6 src/platform/packages/shared/kbn-safer-lodash-set/package.json:7 src/platform/packages/shared/kbn-safer-lodash-set/package.json:8 src/platform/packages/shared/kbn-safer-lodash-set/tsconfig.json:2 src/platform/packages/shared/kbn-security-hardening/tsconfig.json:2 src/platform/packages/shared/kbn-user-profile-components/jest.config.js:12 src/platform/packages/shared/kbn-user-profile-components/tsconfig.json:2 src/platform/plugins/private/interactive_setup/jest.config.js:12 src/platform/plugins/private/interactive_setup/tsconfig.json:2 x-pack/platform/packages/private/security/authorization_core/jest.config.js:13 x-pack/platform/packages/private/security/authorization_core/tsconfig.json:2 x-pack/platform/packages/private/security/authorization_core_common/jest.config.js:15 x-pack/platform/packages/private/security/authorization_core_common/tsconfig.json:2 x-pack/platform/packages/private/security/role_management_model/jest.config.js:14 x-pack/platform/packages/private/security/role_management_model/tsconfig.json:2 x-pack/platform/packages/private/security/ui_components/jest.config.js:13 x-pack/platform/packages/private/security/ui_components/tsconfig.json:2 x-pack/platform/packages/shared/security/api_key_management/jest.config.js:14 x-pack/platform/packages/shared/security/api_key_management/tsconfig.json:2 x-pack/platform/packages/shared/security/form_components/jest.config.js:14 x-pack/platform/packages/shared/security/form_components/tsconfig.json:2 x-pack/platform/packages/shared/security/plugin_types_common/tsconfig.json:2 x-pack/platform/packages/shared/security/plugin_types_public/tsconfig.json:2 x-pack/platform/packages/shared/security/plugin_types_server/tsconfig.json:2 x-pack/platform/plugins/shared/encrypted_saved_objects/README.md:8 x-pack/platform/plugins/shared/encrypted_saved_objects/jest.config.js:10 x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.json:2 x-pack/platform/plugins/shared/security/jest.config.js:10 x-pack/platform/plugins/shared/security/tsconfig.json:2 x-pack/platform/plugins/shared/spaces/jest.config.js:10 x-pack/platform/plugins/shared/spaces/tsconfig.json:2 ``` </details> --------- Co-authored-by: Michael Dokolin <mikhail.dokolin@elastic.co> Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
da25d13a2a
|
Sustainable Kibana Architecture: Move modules owned by @elastic/security-solution (#202851)
|
||
|
34bf83b54f
|
Dependency usage CLI (#198920)
## Summary [dependency-cruiser](https://github.com/sverweij/dependency-cruiser/tree/main) is used for building dependency graph. ### Show all dependencies for a specific package/plugin or directory #### Run for all plugins ```bash bash scripts/dependency_usage.sh -p x-pack/plugins -o ./tmp/deps-result-all.json ``` #### Run for single plugin ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -o ./tmp/deps-result-single.json ``` #### Run for multiple plugins ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution x-pack/plugins/security -o ./tmp/deps-result-multiple.json ``` #### Run for `x-pack/packages` ```bash bash scripts/dependency_usage.sh -p x-pack/packages -o ./tmp/deps-packages-1.json ``` #### Run for `packages` ```bash bash scripts/dependency_usage.sh -p packages -o ./tmp/deps-packages-2.json ``` #### Benchmark | Analysis | Real Time | User Time | Sys Time | |-----------------------|-------------|-------------|------------| | All plugins | 7m 21.126s | 7m 53.099s | 20.581s | | Single plugin | 31.360s | 45.352s | 2.208s | | Multiple plugins | 36.403s | 50.563s | 2.814s | | x-pack/packages | 6.638s | 12.646s | 0.654s | | packages | 25.744s | 39.073s | 2.191s | #### Show all packages/plugins within a directory that use a specific dependency ```sh bash scripts/dependency_usage.sh -d rxjs -p x-pack/plugins/security_solution ``` --- #### Show all packages/plugins within a directory grouped by code owner ```sh bash scripts/dependency_usage.sh -d rxjs -p x-pack/plugins -g owner ``` --- #### Group by code owner with adjustable collapse depth for fine-grained grouping **Fine-grained grouping**: ```sh bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -g owner --collapse-depth 4 ``` **Collapsed grouping**: groups the results under a higher-level owner (e.g., `security_solution` as a single group). ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -g owner --collapse-depth 1 ``` --- #### Show all dependencies matching a pattern (e.g., `react-*`) within a package ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -d 'react-*' -o ./tmp/result.json ``` ### Checklist - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios __Related: https://github.com/elastic/kibana/issues/196767__ --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |