kibana/packages/kbn-telemetry-tools
Tiago Costa 4e26eebc26
[8.10] chore(NA): upgrade typescript into v4.7.4 (#162738) (#164758)
# Backport

This will backport the following commits from `main` to `8.10`:
- [chore(NA): upgrade typescript into v4.7.4
(#162738)](https://github.com/elastic/kibana/pull/162738)

<!--- Backport version: 8.9.8 -->

### 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":"2023-08-24T16:27:13Z","message":"chore(NA):
upgrade typescript into v4.7.4 (#162738)\n\nThis PR bumps the Typescript
version used on Kibana into v4.7.4.\r\n\r\nDuring the upgrade I got the
impression the majority of the failures\r\nwere too specific to the
codebase so instead of making assumptions I\r\nchoose to marked a lot of
them with `@ts-expect-error` and let each team\r\ndecide how to handle
it.\r\n\r\nNext you can find a list of files with those comments and the
teams to\r\nwho they belong to. I would appreciate the collaboration
from each team\r\non fixing those. I'm not opposed on fixing those in
subsequent PRs after\r\nthis one have been merged, just wanted to
elaborate that list for a good\r\nfollow up:\r\n\r\n@elastic/kibana-core
\r\n-
[x]\r\n[packages/core/http/core-http-router-server-internal/src/request.ts](https://github.com/elastic/kibana/pull/162738/files#diff-c1f4a8c013c6ff9c5170803322414cb002f70331b23e45c55f075258c678410a)\r\n\r\n@elastic/kibana-data-discovery
\r\n-
[x]\r\n[src/plugins/discover/public/components/doc_table/components/table_row.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9106b254a57e73fc6f0b2e01f9aff1abbd26f1a0999e6fa998f1b45d3013038f)\r\n\r\n@elastic/kibana-visualizations
\r\n-
[x]\r\n[src/plugins/expressions/common/execution/execution.ts](https://github.com/elastic/kibana/pull/162738/files#diff-47bf3af7472c08ede90f86575ee7db4b8a2c949b1fb61400410ed16a8d819667)\r\n-
[x]\r\n[src/plugins/expressions/common/expression_functions/expression_function_parameter.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3bcaa3c50f2297ff990c7ac83a1c2d36a79e6706a09082c3c48a911713afe950)\r\n-
[x]\r\n[src/plugins/vis_types/heatmap/public/editor/components/labels_panel.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-345db24d53f4158414480b890fa43d1f8a454b67313de79602fda081279cbc4f)\r\n-
[x]\r\n[src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-1c346b41cf025ff4f4e07b6d6dcdd1451cbaa758f9a9e8c72a9801d3fbbdfda2)\r\n\r\n@elastic/kibana-presentation
\r\n-
[x]\r\n[x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts](https://github.com/elastic/kibana/pull/162738/files#diff-56858ed9be77830ab218eab1960337240926609c5a1593b3960b35660ef81359)\r\n\r\n@elastic/response-ops
\r\n-
[x]\r\n[x-pack/plugins/cases/public/components/create/form.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-c5c415f1f56ca986f4bb59e65490b5e0fc77a86092240c0c1a26c141dba07818)\r\n-
[x]\r\n[x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-ab038916f6fed59e18b0a72ce8e823e88d115afdb2704010d0fa8656b66702df)\r\n-
[x]\r\n[x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3f91aa93f7e6514c0479a37a76d6e9a53646d4eaf5dcd0db64437eadf1eee6b6)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-fbf1d6d0104c11c3f3690d29edf06000b5a63a858bb22b7d04d1f96a45133b07)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5)\r\n\r\n@elastic/fleet
\r\n-
[x]\r\n[x-pack/plugins/fleet/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-a852b157b5ff1d6dbf321ea8a25f0020d8f88cd458378cc9de8ef25ce28c9414)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9eea0be0f9341dd6369720ce7b11bff69dda51230337ebbae921f6abde187bd2)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-844d5f9707b739d25f2b73bd34c45c21e2e5d573b3238c13130a0d1c1db092dc)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-f88d92abbc549ddc95d693bf3a3bc9752613cf74f1e859a01ca61d572e031b11)\r\n-
[x]\r\n[x-pack/plugins/fleet/server/mocks/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-d3f3e436b158ac2d877b7be9d57642855f89b0149cc28735811443da45bb079f)\r\n\r\n@elastic/security-detection-engine\r\n-
[x]\r\n[x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts](https://github.com/elastic/kibana/pull/162738/files#diff-dbbf5a8541e06fd977c66e44d9ef59f738d953bdfda679ac838e098742c92f50)\r\n-
[x]\r\n[x-pack/plugins/lists/server/services/extension_points/types.ts](https://github.com/elastic/kibana/pull/162738/files#diff-31186826bea8fdb286a25878fa06eeacad8f7a6c384d617fed905d4625821eef)\r\n\r\n@elastic/security-defend-workflows
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-049eeedef2a403ade7c636418e17fc9a3ffc7030eec2f3e013f459721c076470)\r\n\r\n@elastic/infra-monitoring-ui
\r\n-
[x]\r\n[x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-4ab4fa150247d8f522741ae5ea1ea71c102c72f5439410ea869ec1c9dc9878ad)\r\n-
[x]\r\n[x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-285a67d9ec93651206608d308e5d1d20ccc98ccccb9bcbf3ee31fe35c1844b42)\r\n\r\n@elastic/kibana-security
\r\n-
[x]\r\n[x-pack/plugins/security/server/authentication/authenticator.ts](https://github.com/elastic/kibana/pull/162738/files#diff-bd369002fdfd0986f1ce3bf16263fb8b765e01a86832ccf5b4e521811d502038)\r\n-
[x]\r\n[x-pack/plugins/security/server/session_management/session_index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-10b76eb52a0e17564ad864def8270bb84a4eb87eb35851309bc36601086cbcd7)\r\n\r\n@elastic/security-threat-hunting-explore
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-7f130bdc9a954330d188aa25324910cf2f72baf76d1329bd36584f5bb153856b)\r\n\r\n@elastic/security-solution
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-e68a2799df17238257a86ce965369c525be901f6f882e518bde9e8c9bd7cd2c8)\r\n-
[x]\r\n[x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-edc756f655792f7dcaca0c707f35c6c022981be1873712f460ccb1d611e42568)\r\n-
[x]\r\n[x-pack/plugins/security_solution/tsconfig.json](https://github.com/elastic/kibana/pull/162738/files#diff-844dde79a96b9e6c2bfdf21f8c80feb8b687577e21326da6bd15c6b95d8ec918)\r\n\r\n@elastic/uptime
\r\n-
[x]\r\n[x-pack/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts](https://github.com/elastic/kibana/pull/162738/files#diff-6c7b63ce65aa17a2fe3219e1747ae051be88fb02edbe2f198ad6fd418a2bcc57)\r\n\r\n@elastic/security-detections-response-alerts
@gergoabraham \r\n-
[x]\r\n[x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts](https://github.com/elastic/kibana/pull/162738/files#diff-472ba2c7fe43448c8a4d04406703f755f71f6e60146bb2f090b4ca0f19ad0a0f)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Michael Dokolin <dokmic@gmail.com>\r\nCo-authored-by: Stratoula
Kalafateli <stratoula1@gmail.com>\r\nCo-authored-by: Rudolf Meijering
<skaapgif@gmail.com>\r\nCo-authored-by: Devon Thomson
<devon.thomson@elastic.co>","sha":"2d652e1313a64f55bae994833324ad8116738254","branchLabelMapping":{"^v8.11.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["chore","Team:Operations","Feature:ExpressionLanguage","release_note:skip","Team:Fleet","auto-backport","v8.10.0","v7.17.13","v8.11.0","v8.9.2"],"number":162738,"url":"https://github.com/elastic/kibana/pull/162738","mergeCommit":{"message":"chore(NA):
upgrade typescript into v4.7.4 (#162738)\n\nThis PR bumps the Typescript
version used on Kibana into v4.7.4.\r\n\r\nDuring the upgrade I got the
impression the majority of the failures\r\nwere too specific to the
codebase so instead of making assumptions I\r\nchoose to marked a lot of
them with `@ts-expect-error` and let each team\r\ndecide how to handle
it.\r\n\r\nNext you can find a list of files with those comments and the
teams to\r\nwho they belong to. I would appreciate the collaboration
from each team\r\non fixing those. I'm not opposed on fixing those in
subsequent PRs after\r\nthis one have been merged, just wanted to
elaborate that list for a good\r\nfollow up:\r\n\r\n@elastic/kibana-core
\r\n-
[x]\r\n[packages/core/http/core-http-router-server-internal/src/request.ts](https://github.com/elastic/kibana/pull/162738/files#diff-c1f4a8c013c6ff9c5170803322414cb002f70331b23e45c55f075258c678410a)\r\n\r\n@elastic/kibana-data-discovery
\r\n-
[x]\r\n[src/plugins/discover/public/components/doc_table/components/table_row.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9106b254a57e73fc6f0b2e01f9aff1abbd26f1a0999e6fa998f1b45d3013038f)\r\n\r\n@elastic/kibana-visualizations
\r\n-
[x]\r\n[src/plugins/expressions/common/execution/execution.ts](https://github.com/elastic/kibana/pull/162738/files#diff-47bf3af7472c08ede90f86575ee7db4b8a2c949b1fb61400410ed16a8d819667)\r\n-
[x]\r\n[src/plugins/expressions/common/expression_functions/expression_function_parameter.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3bcaa3c50f2297ff990c7ac83a1c2d36a79e6706a09082c3c48a911713afe950)\r\n-
[x]\r\n[src/plugins/vis_types/heatmap/public/editor/components/labels_panel.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-345db24d53f4158414480b890fa43d1f8a454b67313de79602fda081279cbc4f)\r\n-
[x]\r\n[src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-1c346b41cf025ff4f4e07b6d6dcdd1451cbaa758f9a9e8c72a9801d3fbbdfda2)\r\n\r\n@elastic/kibana-presentation
\r\n-
[x]\r\n[x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts](https://github.com/elastic/kibana/pull/162738/files#diff-56858ed9be77830ab218eab1960337240926609c5a1593b3960b35660ef81359)\r\n\r\n@elastic/response-ops
\r\n-
[x]\r\n[x-pack/plugins/cases/public/components/create/form.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-c5c415f1f56ca986f4bb59e65490b5e0fc77a86092240c0c1a26c141dba07818)\r\n-
[x]\r\n[x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-ab038916f6fed59e18b0a72ce8e823e88d115afdb2704010d0fa8656b66702df)\r\n-
[x]\r\n[x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3f91aa93f7e6514c0479a37a76d6e9a53646d4eaf5dcd0db64437eadf1eee6b6)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-fbf1d6d0104c11c3f3690d29edf06000b5a63a858bb22b7d04d1f96a45133b07)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5)\r\n\r\n@elastic/fleet
\r\n-
[x]\r\n[x-pack/plugins/fleet/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-a852b157b5ff1d6dbf321ea8a25f0020d8f88cd458378cc9de8ef25ce28c9414)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9eea0be0f9341dd6369720ce7b11bff69dda51230337ebbae921f6abde187bd2)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-844d5f9707b739d25f2b73bd34c45c21e2e5d573b3238c13130a0d1c1db092dc)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-f88d92abbc549ddc95d693bf3a3bc9752613cf74f1e859a01ca61d572e031b11)\r\n-
[x]\r\n[x-pack/plugins/fleet/server/mocks/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-d3f3e436b158ac2d877b7be9d57642855f89b0149cc28735811443da45bb079f)\r\n\r\n@elastic/security-detection-engine\r\n-
[x]\r\n[x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts](https://github.com/elastic/kibana/pull/162738/files#diff-dbbf5a8541e06fd977c66e44d9ef59f738d953bdfda679ac838e098742c92f50)\r\n-
[x]\r\n[x-pack/plugins/lists/server/services/extension_points/types.ts](https://github.com/elastic/kibana/pull/162738/files#diff-31186826bea8fdb286a25878fa06eeacad8f7a6c384d617fed905d4625821eef)\r\n\r\n@elastic/security-defend-workflows
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-049eeedef2a403ade7c636418e17fc9a3ffc7030eec2f3e013f459721c076470)\r\n\r\n@elastic/infra-monitoring-ui
\r\n-
[x]\r\n[x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-4ab4fa150247d8f522741ae5ea1ea71c102c72f5439410ea869ec1c9dc9878ad)\r\n-
[x]\r\n[x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-285a67d9ec93651206608d308e5d1d20ccc98ccccb9bcbf3ee31fe35c1844b42)\r\n\r\n@elastic/kibana-security
\r\n-
[x]\r\n[x-pack/plugins/security/server/authentication/authenticator.ts](https://github.com/elastic/kibana/pull/162738/files#diff-bd369002fdfd0986f1ce3bf16263fb8b765e01a86832ccf5b4e521811d502038)\r\n-
[x]\r\n[x-pack/plugins/security/server/session_management/session_index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-10b76eb52a0e17564ad864def8270bb84a4eb87eb35851309bc36601086cbcd7)\r\n\r\n@elastic/security-threat-hunting-explore
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-7f130bdc9a954330d188aa25324910cf2f72baf76d1329bd36584f5bb153856b)\r\n\r\n@elastic/security-solution
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-e68a2799df17238257a86ce965369c525be901f6f882e518bde9e8c9bd7cd2c8)\r\n-
[x]\r\n[x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-edc756f655792f7dcaca0c707f35c6c022981be1873712f460ccb1d611e42568)\r\n-
[x]\r\n[x-pack/plugins/security_solution/tsconfig.json](https://github.com/elastic/kibana/pull/162738/files#diff-844dde79a96b9e6c2bfdf21f8c80feb8b687577e21326da6bd15c6b95d8ec918)\r\n\r\n@elastic/uptime
\r\n-
[x]\r\n[x-pack/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts](https://github.com/elastic/kibana/pull/162738/files#diff-6c7b63ce65aa17a2fe3219e1747ae051be88fb02edbe2f198ad6fd418a2bcc57)\r\n\r\n@elastic/security-detections-response-alerts
@gergoabraham \r\n-
[x]\r\n[x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts](https://github.com/elastic/kibana/pull/162738/files#diff-472ba2c7fe43448c8a4d04406703f755f71f6e60146bb2f090b4ca0f19ad0a0f)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Michael Dokolin <dokmic@gmail.com>\r\nCo-authored-by: Stratoula
Kalafateli <stratoula1@gmail.com>\r\nCo-authored-by: Rudolf Meijering
<skaapgif@gmail.com>\r\nCo-authored-by: Devon Thomson
<devon.thomson@elastic.co>","sha":"2d652e1313a64f55bae994833324ad8116738254"}},"sourceBranch":"main","suggestedTargetBranches":["8.10","7.17","8.9"],"targetPullRequestStates":[{"branch":"8.10","label":"v8.10.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"7.17","label":"v7.17.13","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.11.0","labelRegex":"^v8.11.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/162738","number":162738,"mergeCommit":{"message":"chore(NA):
upgrade typescript into v4.7.4 (#162738)\n\nThis PR bumps the Typescript
version used on Kibana into v4.7.4.\r\n\r\nDuring the upgrade I got the
impression the majority of the failures\r\nwere too specific to the
codebase so instead of making assumptions I\r\nchoose to marked a lot of
them with `@ts-expect-error` and let each team\r\ndecide how to handle
it.\r\n\r\nNext you can find a list of files with those comments and the
teams to\r\nwho they belong to. I would appreciate the collaboration
from each team\r\non fixing those. I'm not opposed on fixing those in
subsequent PRs after\r\nthis one have been merged, just wanted to
elaborate that list for a good\r\nfollow up:\r\n\r\n@elastic/kibana-core
\r\n-
[x]\r\n[packages/core/http/core-http-router-server-internal/src/request.ts](https://github.com/elastic/kibana/pull/162738/files#diff-c1f4a8c013c6ff9c5170803322414cb002f70331b23e45c55f075258c678410a)\r\n\r\n@elastic/kibana-data-discovery
\r\n-
[x]\r\n[src/plugins/discover/public/components/doc_table/components/table_row.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9106b254a57e73fc6f0b2e01f9aff1abbd26f1a0999e6fa998f1b45d3013038f)\r\n\r\n@elastic/kibana-visualizations
\r\n-
[x]\r\n[src/plugins/expressions/common/execution/execution.ts](https://github.com/elastic/kibana/pull/162738/files#diff-47bf3af7472c08ede90f86575ee7db4b8a2c949b1fb61400410ed16a8d819667)\r\n-
[x]\r\n[src/plugins/expressions/common/expression_functions/expression_function_parameter.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3bcaa3c50f2297ff990c7ac83a1c2d36a79e6706a09082c3c48a911713afe950)\r\n-
[x]\r\n[src/plugins/vis_types/heatmap/public/editor/components/labels_panel.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-345db24d53f4158414480b890fa43d1f8a454b67313de79602fda081279cbc4f)\r\n-
[x]\r\n[src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-1c346b41cf025ff4f4e07b6d6dcdd1451cbaa758f9a9e8c72a9801d3fbbdfda2)\r\n\r\n@elastic/kibana-presentation
\r\n-
[x]\r\n[x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts](https://github.com/elastic/kibana/pull/162738/files#diff-56858ed9be77830ab218eab1960337240926609c5a1593b3960b35660ef81359)\r\n\r\n@elastic/response-ops
\r\n-
[x]\r\n[x-pack/plugins/cases/public/components/create/form.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-c5c415f1f56ca986f4bb59e65490b5e0fc77a86092240c0c1a26c141dba07818)\r\n-
[x]\r\n[x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-ab038916f6fed59e18b0a72ce8e823e88d115afdb2704010d0fa8656b66702df)\r\n-
[x]\r\n[x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3f91aa93f7e6514c0479a37a76d6e9a53646d4eaf5dcd0db64437eadf1eee6b6)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-fbf1d6d0104c11c3f3690d29edf06000b5a63a858bb22b7d04d1f96a45133b07)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5)\r\n-
[x]\r\n[x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5)\r\n\r\n@elastic/fleet
\r\n-
[x]\r\n[x-pack/plugins/fleet/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-a852b157b5ff1d6dbf321ea8a25f0020d8f88cd458378cc9de8ef25ce28c9414)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9eea0be0f9341dd6369720ce7b11bff69dda51230337ebbae921f6abde187bd2)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-844d5f9707b739d25f2b73bd34c45c21e2e5d573b3238c13130a0d1c1db092dc)\r\n-
[x]\r\n[x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-f88d92abbc549ddc95d693bf3a3bc9752613cf74f1e859a01ca61d572e031b11)\r\n-
[x]\r\n[x-pack/plugins/fleet/server/mocks/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-d3f3e436b158ac2d877b7be9d57642855f89b0149cc28735811443da45bb079f)\r\n\r\n@elastic/security-detection-engine\r\n-
[x]\r\n[x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts](https://github.com/elastic/kibana/pull/162738/files#diff-dbbf5a8541e06fd977c66e44d9ef59f738d953bdfda679ac838e098742c92f50)\r\n-
[x]\r\n[x-pack/plugins/lists/server/services/extension_points/types.ts](https://github.com/elastic/kibana/pull/162738/files#diff-31186826bea8fdb286a25878fa06eeacad8f7a6c384d617fed905d4625821eef)\r\n\r\n@elastic/security-defend-workflows
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-049eeedef2a403ade7c636418e17fc9a3ffc7030eec2f3e013f459721c076470)\r\n\r\n@elastic/infra-monitoring-ui
\r\n-
[x]\r\n[x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-4ab4fa150247d8f522741ae5ea1ea71c102c72f5439410ea869ec1c9dc9878ad)\r\n-
[x]\r\n[x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-285a67d9ec93651206608d308e5d1d20ccc98ccccb9bcbf3ee31fe35c1844b42)\r\n\r\n@elastic/kibana-security
\r\n-
[x]\r\n[x-pack/plugins/security/server/authentication/authenticator.ts](https://github.com/elastic/kibana/pull/162738/files#diff-bd369002fdfd0986f1ce3bf16263fb8b765e01a86832ccf5b4e521811d502038)\r\n-
[x]\r\n[x-pack/plugins/security/server/session_management/session_index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-10b76eb52a0e17564ad864def8270bb84a4eb87eb35851309bc36601086cbcd7)\r\n\r\n@elastic/security-threat-hunting-explore
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-7f130bdc9a954330d188aa25324910cf2f72baf76d1329bd36584f5bb153856b)\r\n\r\n@elastic/security-solution
@gergoabraham \r\n-
[x]\r\n[x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-e68a2799df17238257a86ce965369c525be901f6f882e518bde9e8c9bd7cd2c8)\r\n-
[x]\r\n[x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-edc756f655792f7dcaca0c707f35c6c022981be1873712f460ccb1d611e42568)\r\n-
[x]\r\n[x-pack/plugins/security_solution/tsconfig.json](https://github.com/elastic/kibana/pull/162738/files#diff-844dde79a96b9e6c2bfdf21f8c80feb8b687577e21326da6bd15c6b95d8ec918)\r\n\r\n@elastic/uptime
\r\n-
[x]\r\n[x-pack/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts](https://github.com/elastic/kibana/pull/162738/files#diff-6c7b63ce65aa17a2fe3219e1747ae051be88fb02edbe2f198ad6fd418a2bcc57)\r\n\r\n@elastic/security-detections-response-alerts
@gergoabraham \r\n-
[x]\r\n[x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts](https://github.com/elastic/kibana/pull/162738/files#diff-472ba2c7fe43448c8a4d04406703f755f71f6e60146bb2f090b4ca0f19ad0a0f)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Michael Dokolin <dokmic@gmail.com>\r\nCo-authored-by: Stratoula
Kalafateli <stratoula1@gmail.com>\r\nCo-authored-by: Rudolf Meijering
<skaapgif@gmail.com>\r\nCo-authored-by: Devon Thomson
<devon.thomson@elastic.co>","sha":"2d652e1313a64f55bae994833324ad8116738254"}},{"branch":"8.9","label":"v8.9.2","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-08-24 20:29:02 +01:00
..
src [8.10] chore(NA): upgrade typescript into v4.7.4 (#162738) (#164758) 2023-08-24 20:29:02 +01:00
GUIDELINE.md [Telemetry] [Schema] remove number type and support all es number types (#81774) 2020-10-30 04:34:20 +02:00
index.ts [Serverless Telemetry] Add serverless label to inform of the project type (#159549) 2023-06-14 18:05:04 +02:00
jest.config.js Elastic License 2.0 (#90099) 2021-02-03 18:12:39 -08:00
kibana.jsonc Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
package.json Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
README.md [Telemetry] Collector Schema (#64942) 2020-06-27 02:52:26 +03:00
tsconfig.json [Serverless Telemetry] Add serverless label to inform of the project type (#159549) 2023-06-14 18:05:04 +02:00

Telemetry Tools

Schema extraction tool

Description

The tool is used to extract telemetry collectors schema from all *.{ts} files in provided plugins directories to JSON files. The tool looks for .telemetryrc.json files in the root of the project and in the x-pack dir for its runtime configurations.

It uses typescript parser to build an AST for each file. The tool is able to validate, extract and match collector schemas.

Examples and restrictions

Global restrictions:

The id can be only a string literal, it cannot be a template literals w/o expressions or string-only concatenation expressions or anything else.

export const myCollector = makeUsageCollector<Usage>({
  type: 'string_literal_only',
  ...
});

Usage

node scripts/telemetry_extract.js

This command has no additional flags or arguments. The .telemetryrc.json files specify the path to the directory where searching should start, output json files, and files to exclude.

Output

The generated JSON files contain an ES mapping for each schema. This mapping is used to verify changes in the collectors and as the basis to map those fields into the external telemetry cluster.

Example:

{
  "properties": {
    "cloud": {
      "properties": {
        "isCloudEnabled": {
          "type": "boolean"
        }
      }
    }
  }
}

Schema validation tool

Description

The tool performs a number of checks on all telemetry collectors and verifies the following:

  1. Verifies the collector structure, fields, and returned values are using the appropriate types.
  2. Verifies that the collector fetch function Type matches the specified schema in the collector.
  3. Verifies that the collector schema matches the stored json schema .

Notes

We don't catch every possible misuse of the collectors, but only the most common and critical ones.

What will not be caught by the validator:

  • Mistyped SavedObject/CallCluster return value. Since the hits returned from ES can be typed to anything without any checks. It is advised to add functional tests that grabs the schema json file and checks that the returned usage matches the types exactly.

  • Fields in the schema that are never collected. If you are trying to report a field from ES but that value is never stored in ES, the check will not be able to detect if that field is ever collected in the first palce. It is advised to add unit/functional tests to check that all the fields are being reported as expected.

The tool looks for .telemetryrc.json files in the root of the project and in the x-pack dir for its runtime configurations.

Currently auto-fixer (--fix) can automatically fix the json files with the following errors:

  • incompatible schema - this error means that the collector schema was changed but the stored json schema file was not updated.

  • unused schemas - this error means that a collector was removed or its type renamed, the json schema file contains a schema that does not have a corrisponding collector.

Usage

node scripts/telemetry_check --fix
  • --path specifies a collector path instead of checking all collectors specified in the .telemetryrc.json files. Accepts a .ts file. The file must be discoverable by at least one rc file.
  • --fix tells the tool to try to fix as many violations as possible. All errors that tool won't be able to fix will be reported.