kibana/packages
Kibana Machine 4bcd166b3a
[8.18] fix(NA): use filesystem apis on kbn/optimizer populate_bundle_cache plugin (#211231) (#211284)
# Backport

This will backport the following commits from `main` to `8.18`:
- [fix(NA): use filesystem apis on kbn/optimizer populate_bundle_cache
plugin (#211231)](https://github.com/elastic/kibana/pull/211231)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Tiago
Costa","email":"tiago.costa@elastic.co"},"sourceCommit":{"committedDate":"2025-02-14T17:07:41Z","message":"fix(NA):
use filesystem apis on kbn/optimizer populate_bundle_cache plugin
(#211231)\n\nThis PR solves an issue detected in the populate bundle
cache plugin\nafter the webpack v5 migration. On the new version webpack
v5 returns a\nlot of incomplete paths when we walk over file
dependencies or internal\nmodules. The heuristic logic used previously
was faulty so the fixes\nturns to use a cached filesystem api
instead.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"16a9136b93e2b9bc2e5d86ff7167a8ae0a563cdb","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["chore","Team:Operations","release_note:skip","backport:prev-major","v9.1.0"],"title":"fix(NA):
use filesystem apis on kbn/optimizer populate_bundle_cache
plugin","number":211231,"url":"https://github.com/elastic/kibana/pull/211231","mergeCommit":{"message":"fix(NA):
use filesystem apis on kbn/optimizer populate_bundle_cache plugin
(#211231)\n\nThis PR solves an issue detected in the populate bundle
cache plugin\nafter the webpack v5 migration. On the new version webpack
v5 returns a\nlot of incomplete paths when we walk over file
dependencies or internal\nmodules. The heuristic logic used previously
was faulty so the fixes\nturns to use a cached filesystem api
instead.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"16a9136b93e2b9bc2e5d86ff7167a8ae0a563cdb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211231","number":211231,"mergeCommit":{"message":"fix(NA):
use filesystem apis on kbn/optimizer populate_bundle_cache plugin
(#211231)\n\nThis PR solves an issue detected in the populate bundle
cache plugin\nafter the webpack v5 migration. On the new version webpack
v5 returns a\nlot of incomplete paths when we walk over file
dependencies or internal\nmodules. The heuristic logic used previously
was faulty so the fixes\nturns to use a cached filesystem api
instead.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"16a9136b93e2b9bc2e5d86ff7167a8ae0a563cdb"}}]}]
BACKPORT-->

Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
2025-02-14 17:33:17 +00:00
..
kbn-ambient-common-types Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-ambient-ftr-types Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-ambient-storybook-types Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-ambient-ui-types [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-apm-synthtrace [8.18] [Synthtrace] Introducing teardown for scenarios (#209739) (#209798) 2025-02-05 18:24:26 +01:00
kbn-apm-synthtrace-client [8.x] [One Discover] Display stacktrace in the logs overview tab (#204521) (#208115) 2025-01-28 15:05:59 +02:00
kbn-axe-config Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-babel-preset [8.18] [Security Solution][Explore] Migrate from styled-components in shared (#210311) (#211226) 2025-02-14 18:15:20 +01:00
kbn-babel-register [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-operations (#202739) (#205320) 2024-12-31 19:01:38 +01:00
kbn-babel-transform [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-bazel-runner Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-capture-oas-snapshot-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-check-mappings-update-cli [8.18] [Entity Analytics] Consider Closed alerts for Risk Scoring (#193667) (#210941) 2025-02-13 11:20:13 +05:30
kbn-check-prod-native-modules-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-ci-stats-core [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-ci-stats-performance-metrics Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-ci-stats-reporter [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-ci-stats-shipper-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-cli-dev-mode [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-presentation (#204843) (#205120) 2024-12-24 08:44:32 +01:00
kbn-code-owners [8.x] [code-owners] Add area information to code owner entries (#205143) (#205147) 2024-12-24 12:11:18 -06:00
kbn-cypress-config [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-dependency-usage [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-security (#202748) (#205569) 2025-01-06 16:48:09 +03:00
kbn-dev-cli-errors [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-dev-cli-runner [8.x] SKA: Update broken references and URLs (#206836) (#208479) 2025-01-28 10:09:09 +01:00
kbn-dev-proc-runner [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-dev-utils [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-docs-utils [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-visualizations (#202754) (#205974) 2025-01-13 10:53:37 +00:00
kbn-es [8.x] [SecuritySolution][Endpoint] Update serverless roles to include stack connector sub-privilege (#208155) (#208420) 2025-01-27 19:18:21 +00:00
kbn-es-archiver [8.x] [ES &#x60;body&#x60; removal] &#x60;@elastic/appex-qa&#x60; (#204878) (#204916) 2024-12-19 06:55:11 -06:00
kbn-eslint-config [8.x] Upgrade EUI to v98.2.1-borealis.1 (#204783) 2025-01-08 09:59:50 +00:00
kbn-eslint-plugin-css [8.x] Resolve false positives with eslint no color rule (#204848) (#204906) 2024-12-19 06:23:17 -06:00
kbn-eslint-plugin-disable [8.x] Add ESLINT constraints to detect inter-group dependencies (#194810) (#197670) 2024-10-24 13:20:30 -07:00
kbn-eslint-plugin-eslint Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-eslint-plugin-i18n [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-visualizations (#202754) (#205974) 2025-01-13 10:53:37 +00:00
kbn-eslint-plugin-imports [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-eslint-plugin-telemetry [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ux-infra_services-team (#202830) (#205231) 2024-12-29 13:10:37 -06:00
kbn-expect [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-failed-test-reporter-cli [8.x] [kbn-scout-reporting] add failed test reporter (#205096) (#206849) 2025-01-17 13:56:18 +00:00
kbn-find-used-node-modules Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-ftr-common-functional-services [8.x] [kbn-test] add forceNewSession option to re-generate session cookie (#199018) (#204583) 2024-12-18 08:43:32 -06:00
kbn-ftr-common-functional-ui-services [8.x] [Data Usage] functional tests (#203166) (#204019) 2024-12-12 09:07:51 -06:00
kbn-ftr-screenshot-filename [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-gen-ai-functional-testing [8.x] Add base FTR test coverage for inference APIs (#198000) (#202916) 2024-12-05 07:03:22 -06:00
kbn-generate [8.x] SKA: Cleanup and follow-up tasks (1 of many) (#206420) (#206656) 2025-01-14 20:02:02 +00:00
kbn-generate-console-definitions [8.x] SKA: Categorise remaining packages (#205875) (#205973) 2025-01-08 23:32:22 +00:00
kbn-get-repo-files [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-import-locator Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-import-resolver [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-io-ts-utils [8.x] [Perfomance] Track time range picker with onPageReady function (#202889) (#204564) 2024-12-17 08:17:58 -06:00
kbn-jest-serializers [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-journeys [8.18] [Journeys] Set traceparent for Playwright (#189800) (#209859) 2025-02-05 20:52:54 +01:00
kbn-json-ast Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-kibana-manifest-schema [8.x] Kibana Sustainable Architecture: Force &#x60;visibility: &#x27;private&#x27;&#x60; for solutions in manifest (#199452) (#199488) 2024-11-08 10:26:58 -06:00
kbn-lint-packages-cli [8.x] [codeowners] Filter kibanamachine (#199404) (#199864) 2024-11-12 14:38:18 -06:00
kbn-lint-ts-projects-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-managed-vscode-config Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-managed-vscode-config-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-management [8.x] Sustainable Kibana Architecture: Move the rest of shared-ux modules (#205924) (#206269) 2025-01-10 14:51:47 +00:00
kbn-manifest [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-mock-idp-plugin [8.x] Preparation for High Contrast Mode, Security domains (#202609) (#203493) 2024-12-09 16:43:23 -06:00
kbn-mock-idp-utils [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-node-libs-browser-webpack-plugin [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-openapi-bundler Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-openapi-generator [8.x] SKA: Relocate modules owned by @elastic/security-solution (#204523) 2024-12-17 20:13:10 +01:00
kbn-optimizer [8.18] fix(NA): use filesystem apis on kbn/optimizer populate_bundle_cache plugin (#211231) (#211284) 2025-02-14 17:33:17 +00:00
kbn-optimizer-webpack-helpers [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-peggy [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-peggy-loader [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-performance-testing-dataset-extractor [8.x] [ES &#x60;body&#x60; removal] &#x60;@elastic/appex-qa&#x60; (#204878) (#204916) 2024-12-19 06:55:11 -06:00
kbn-picomatcher Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-plugin-check [8.x] SKA: Categorise remaining packages (#205875) (#205973) 2025-01-08 23:32:22 +00:00
kbn-plugin-generator [8.x] Sustainable Kibana Architecture: Update tooling to take into account the new folders (#202327) (#202419) 2024-12-02 06:01:43 -06:00
kbn-plugin-helpers [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-relocate [8.18] SKA: Follow-up relocations (#209477) (#210507) 2025-02-11 15:00:11 +01:00
kbn-repo-file-maps Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-repo-linter Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-repo-path [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-repo-source-classifier [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-repo-source-classifier-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-scout [8.18] [scout] unique runId for reporting, disabled failed test reporter locally (#209507) (#210087) 2025-02-06 20:42:25 +01:00
kbn-scout-info [8.x] [kbn-scout] Scout reporter updates (#206431) (#208651) 2025-01-29 13:50:25 +01:00
kbn-scout-reporting [8.18] [scout] unique runId for reporting, disabled failed test reporter locally (#209507) (#210087) 2025-02-06 20:42:25 +01:00
kbn-set-map [8.x] SKA: Categorise remaining packages (#205875) (#205973) 2025-01-08 23:32:22 +00:00
kbn-some-dev-log [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-sort-package-json Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-spec-to-console Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-stdio-dev-helpers [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-storybook [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-styled-components-mapping-cli [8.x] Update styled_components_files.js to include all files that import styled-components (#206084) 2025-01-10 22:11:34 +00:00
kbn-telemetry-tools [8.x] Fix telemetry CLI to write empty properties collection (#205746) (#205786) 2025-01-07 18:39:53 +00:00
kbn-test [8.18] chore(NA): upgrade to webpack 5 (#191106) (#211147) 2025-02-14 13:36:18 +00:00
kbn-test-eui-helpers [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-test-jest-helpers [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-test-subj-selector [8.x] [scout] migrate more Discover tests (#201842) (#204748) 2024-12-18 08:50:13 -06:00
kbn-tooling-log [8.x] Sustainable Kibana Architecture: Categorise straightforward packages (#199630) (#201340) 2024-11-22 09:47:23 -06:00
kbn-ts-projects [Backport] Dependency Usage CLI (#201815) 2024-11-26 21:48:26 +01:00
kbn-ts-type-check-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-validate-next-docs-cli [8.x] [ci] Work around docosaurus errors (#206097) (#206150) 2025-01-10 00:31:36 +00:00
kbn-web-worker-stub Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-whereis-pkg-cli Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
kbn-yarn-lock-validator Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
serverless/storybook/config [8.x] Sustainable Kibana Architecture: Move the rest of shared-ux modules (#205924) (#206269) 2025-01-10 14:51:47 +00:00
README.md [8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-core (#201653) (#205563) 2025-01-05 16:32:00 +01:00

Kibana-related packages

This folder contains packages that are intended for use in Kibana and Kibana plugins.

tl;dr:

  • Don't publish to npm registry
  • Always use the @kbn namespace
  • Always set "private": true in package.json

Using these packages

We no longer publish these packages to the npm registry. Now, instead of specifying a version when including these packages, we rely on yarn workspaces, which sets up a symlink to the package.

For example if you want to use the @kbn/i18n package in Kibana itself, you can specify the dependency like this:

"@kbn/i18n": "1.0.0"

However, if you want to use this from a Kibana plugin, you need to use a link: dependency and account for the relative location of the Kibana repo, so it would instead be:

"@kbn/i18n": "link:../../kibana/src/platform/packages/shared/kbn-i18n"

then run yarn kbn bootstrap from the plugin directory.

Creating a new package

Run the following command from the root of the Kibana repo:

node scripts/generate package @kbn/<PACKAGE_NAME> --web --owner @elastic/<TEAM_NAME>

Unit tests for a package

Currently there is only one tool being used in order to test packages which is Jest. Below we will explain how it should be done.

Jest

A package should follow the pattern of having .test.js files as siblings of the source code files, and these run by Jest.

A package using the .test.js naming convention will have those tests automatically picked up by Jest and run by the unit test runner, currently mapped to the Kibana test script in the root package.json.

  • yarn test runs all unit tests.
  • yarn jest runs all Jest tests in Kibana.

In order for the plugin or package to use Jest, a jest.config.js file must be present in it's root. However, there are safeguards for this in CI should a test file be added without a corresponding config file.


Each package can also specify its own test script in the package's package.json, for cases where you'd prefer to run the tests from the local package directory.