kibana/packages
Spencer 4e7560f19d
[ci-stats] move shipper to a package, validate limits in on-merge job (#149474)
We just had an issue where two PRs were merged and it caused the limit
of the `triggerActionsUi` bundle to be exceeded, breaking PR builds. The
issue is that we didn't see any indication of this in the on-merge jobs
because we don't produce the PR report for on-merge jobs or ask ci-stats
if we should fail the job. Instead, we just ship the metrics for
baseline purposes. This fixes that problem by adding a `--validate` flag
to `node scripts/ship_ci_stats`, which takes care of sending at least
some ci-stats and will verify that the bundle limits are not exceeded.

Since we didn't catch this issue in the on-merge job the limits were
incorrect for over an hour and merged into many PRs, wasting engineering
and CI time.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-01-25 08:20:40 -07:00
..
analytics Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
content-management [codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
core [Saved Objects] Import SO types from server rather than common to avoid deprecation (#149289) 2023-01-25 05:38:05 -07:00
home [codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
kbn-ace Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-alerts Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ambient-common-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ambient-ftr-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ambient-storybook-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ambient-ui-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-analytics Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-apm-config-loader Allow APM env to be set via the config file (#149266) 2023-01-20 10:02:11 +00:00
kbn-apm-synthtrace [APM] Display comparison for mobile stats (#149097) 2023-01-25 05:56:53 -07:00
kbn-apm-synthtrace-client [APM] Refactor synthtrace (#147036) 2023-01-04 13:47:37 +01:00
kbn-apm-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-axe-config Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-babel-plugin-package-imports Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-babel-preset Update dependency core-js to ^3.27.0 (main) (#148259) 2023-01-03 09:35:06 -06:00
kbn-babel-register Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-babel-transform [@kbn/babel-register] ensure that source maps are included inline (#148407) 2023-01-04 12:30:49 -07:00
kbn-bazel-runner Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-cases-components [Cases] add tooltip component to kbn-cases-components package (#148561) 2023-01-17 14:24:50 +01:00
kbn-cell-actions [145663] Refactor explore pages to migrate HoverActions to CellActions (#148056) 2023-01-24 11:44:43 -07:00
kbn-chart-icons Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ci-stats-core Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ci-stats-performance-metrics Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ci-stats-reporter Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ci-stats-shipper-cli [ci-stats] move shipper to a package, validate limits in on-merge job (#149474) 2023-01-25 08:20:40 -07:00
kbn-cli-dev-mode [dev-cli] restart Kibana when config is changed (#149334) 2023-01-23 09:21:24 -07:00
kbn-coloring Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-config Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-config-mocks Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-config-schema Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-crypto Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-crypto-browser Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-cypress-config Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-datemath Update codeowners to move AppServices packages to DataDiscovery (#149065) 2023-01-18 13:34:28 -07:00
kbn-dev-cli-errors Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-dev-cli-runner Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-dev-proc-runner Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-dev-utils [ci-stats] move shipper to a package, validate limits in on-merge job (#149474) 2023-01-25 08:20:40 -07:00
kbn-doc-links [Behavioral Analytics] update documentation + update link to events doc (#148881) 2023-01-18 13:59:30 +01:00
kbn-docs-utils [docs-utils] remove extra api_docs dir (#148658) 2023-01-10 12:20:35 -07:00
kbn-ebt-tools Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ecs Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-es [kbn/es] Add dev docs for snapshot promotion pipeline (#148350) 2023-01-05 12:45:34 -06:00
kbn-es-archiver Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-es-errors Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-es-query [Visualizations] Enables multiple values filtering on tooltip actions (#148372) 2023-01-25 12:55:30 +02:00
kbn-es-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-eslint-config [presUtils/fleet] stop importing test helpers in bundles (#148825) 2023-01-12 15:11:30 -07:00
kbn-eslint-plugin-disable Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-eslint-plugin-eslint Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-eslint-plugin-imports [presUtils/fleet] stop importing test helpers in bundles (#148825) 2023-01-12 15:11:30 -07:00
kbn-expect Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-failed-test-reporter-cli Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-field-types Update codeowners to move AppServices packages to DataDiscovery (#149065) 2023-01-18 13:34:28 -07:00
kbn-find-used-node-modules Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-flot-charts Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ftr-common-functional-services Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ftr-screenshot-filename Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-generate Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-get-repo-files [tsProjects] auto-rebuild tsconfig-paths.json cache (#148743) 2023-01-11 16:09:11 -07:00
kbn-guided-onboarding [Guided onboarding] Register test guide in the example plugin (#147703) 2023-01-20 03:29:25 -07:00
kbn-handlebars Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-hapi-mocks Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-health-gateway-server Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-i18n Upgrade Node.js from v16.18.1 to v18.13.0 (#144012) 2023-01-17 21:04:23 +01:00
kbn-i18n-react Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-import-locator Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-import-resolver switch out chokidar for @parcel/watcher in dev cli (#148924) 2023-01-13 16:42:13 -07:00
kbn-interpreter Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-io-ts-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-jest-serializers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-journeys [performance] Disable telemetry for journey by default (#148915) 2023-01-13 23:50:14 +01:00
kbn-json-ast Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-kibana-manifest-schema Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-language-documentation-popover Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-lint-packages-cli [packages] prevent and remove basename collisions for js/ts code (#148835) 2023-01-12 12:29:30 -07:00
kbn-lint-ts-projects-cli Move real plugins out of 'fixtures' dirs (#148756) 2023-01-12 12:38:49 -07:00
kbn-logging Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-logging-mocks Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-managed-vscode-config Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-managed-vscode-config-cli Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-mapbox-gl Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-monaco [codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
kbn-optimizer fix triggerActionsUi overage 2023-01-24 19:25:56 -06:00
kbn-optimizer-webpack-helpers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-osquery-io-ts-types [Osquery] Substitute Event Data in place of {{parameter}} in Osquery run from Alerts (#146598) 2023-01-05 15:49:40 +01:00
kbn-peggy Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-peggy-loader Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-performance-testing-dataset-extractor Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-picomatcher Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-plugin-discovery Move real plugins out of 'fixtures' dirs (#148756) 2023-01-12 12:38:49 -07:00
kbn-plugin-generator Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-plugin-helpers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-react-field Update codeowners to move AppServices packages to DataDiscovery (#149065) 2023-01-18 13:34:28 -07:00
kbn-repo-file-maps Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-repo-info Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-repo-linter Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-repo-packages chore(NA): adds @kbn/whereis-pkg-cli to quickly find a pkg location (#148696) 2023-01-13 17:45:24 -07:00
kbn-repo-path [packages] prevent and remove basename collisions for js/ts code (#148835) 2023-01-12 12:29:30 -07:00
kbn-repo-source-classifier fix(NA): @kbn/cli-dev-mode nonPackageMatcher patterns (#148971) 2023-01-16 16:56:36 +00:00
kbn-repo-source-classifier-cli Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-rison [Security Solution] Global query string functionality improvements (#147218) 2023-01-05 18:02:12 +01:00
kbn-rule-data-utils [Response Ops][Alerting] Install resources needed for framework alerts-as-data (#145581) 2023-01-23 21:07:09 -05:00
kbn-safer-lodash-set Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-autocomplete Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-ecs [Security Solution] Security Common Schema Package (#148664) 2023-01-23 10:07:08 -07:00
kbn-securitysolution-es-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-exception-list-components Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-hook-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-io-ts-alerting-types chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-securitysolution-io-ts-list-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-io-ts-types chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-securitysolution-io-ts-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-list-api Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-list-constants Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-list-hooks Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-list-utils chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-securitysolution-rules Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-t-grid Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-securitysolution-utils chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-server-http-tools chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-server-route-repository Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-set-map Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-shared-svg Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-shared-ux-utility [codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
kbn-slo-schema feat(slo): Create historical summary API (#149125) 2023-01-19 08:00:07 -05:00
kbn-some-dev-log Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-sort-package-json [sort-package-json] always ensure 2-space indent is used 2023-01-10 10:39:48 -07:00
kbn-spec-to-console Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-std Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-stdio-dev-helpers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-storybook Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-telemetry-tools Move real plugins out of 'fixtures' dirs (#148756) 2023-01-12 12:38:49 -07:00
kbn-test chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-test-jest-helpers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-test-subj-selector Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-timelion-grammar Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-tinymath Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-tooling-log Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ts-projects [tsProjects] auto-rebuild tsconfig-paths.json cache (#148743) 2023-01-11 16:09:11 -07:00
kbn-ts-type-check-cli Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-typed-react-router-config Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ui-actions-browser create @kbn/ui-actions-browser package (#149202) 2023-01-19 18:28:07 +01:00
kbn-ui-framework Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ui-shared-deps-npm chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-ui-shared-deps-src chore(NA): upgrades uuid to v9.0.0 (#149135) 2023-01-19 19:48:07 +00:00
kbn-ui-theme Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-user-profile-components Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-utility-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-utility-types-jest Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-web-worker-stub Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-whereis-pkg-cli chore(NA): adds @kbn/whereis-pkg-cli to quickly find a pkg location (#148696) 2023-01-13 17:45:24 -07:00
kbn-yarn-lock-validator Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
shared-ux [codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
README.md create @kbn/ui-actions-browser package (#149202) 2023-01-19 18:28:07 +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/packages/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.