Commit graph

15 commits

Author SHA1 Message Date
Anton Dosov
fccfd4cf75
[react@18] Implicit children type fixes (#192011)
## Summary

Part of https://github.com/elastic/kibana/issues/138222

in @types/react@18 types [have become more
strict](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/56210).
This PR addresses a bunch of easy fixes. The most common are:

### 1 Removal of implicit children

For components that do implement children but relied on their implicit
declaration from React.FunctionComponent or React.Component:

```diff
 interface Props {
+  children?: React.ReactNode;
 }

 class SomeClassComponents React.Component<Props> {
   render() {
     return  <div>{this.props.children}</div>
   }
 }
 const SomeFunctionComponent: React.FunctionComponent<Props> = props => <div>{props.children}</div>
```

or 

```diff
- const SomeFunctionComponent: React.FunctionComponent<Props> = props => <div>{props.children}</div>
+ const SomeFunctionComponent: React.FunctionComponent<React.PropsWithChildren<Props>> = props => <div>{props.children}</div>
```


*Note 1:*
The most common change occurs in unit tests where `renderHook` and
`wrapper` are used. I had to re-type the props so that `children` were
there

```diff
const { result } = renderHook(
         () => {
           return useLicense();
         },
         {
-           wrapper: ({ children }) => (
+           wrapper: ({ children }: React.PropsWithChildren<{}>) => (
             <TestProviders license={license}>{children}</TestProviders>
           ),
         }
       );
```

```diff
- const { result } = renderHook<GetCasesColumn, UseCasesColumnsReturnValue>(
+ const { result } = renderHook<React.PropsWithChildren<GetCasesColumn>, UseCasesColumnsReturnValue>(
       () => useCasesColumns(defaultColumnArgs),
       {
         wrapper: ({ children }) => <TestProviders>{children}</TestProviders>,
       }
     );
```



*Note 2:*
With @types/react@17 the components that don't have any props apart from
`children` I had to use `React.PropsWithChildren<{}>`, whereas in
@types/react@18 the argument becomes optional, so it can be omitted, and
type simpler with `React.PropsWithChildren` without an argument



### 2 `this.context` becomes `unknown` (was `any`)

In a couple of places where `this.context` is used, I had to type it

### 3 `ComponentType` from enzyme is no longer compatible with
`ComponentType` from react

This one is a bummer, but where `wrappingComponent` with enzyme is used
I had to cast it to type from `enzyme`

```diff
- import { mount } from 'enzyme'
+ import { mount, ComponentType } from 'enzyme'

 wrapper = mount(<ClosureOptions {...props} />, {
-       wrappingComponent: TestProviders,
+       wrappingComponent: TestProviders as ComponentType<{}>,
});
```
2024-09-09 13:56:02 +02:00
Luke Elmers
b6287708f6
Adds AGPL 3.0 license (#192025)
Updates files outside of x-pack to be triple-licensed under Elastic
License 2.0, AGPL 3.0, or SSPL 1.0.
2024-09-06 19:02:41 -06:00
Marco Liberati
a6491ab360
Add treeshake to some core, ml and shared-ux modules (#182348)
## Summary

While debugging another issue I've noticed there were few packages
without treeshake enabled who could be optimized for bundle size, so
I've enabled it for a few of them.
This PR focuses only on `shared-ux`, `core` and `ml` packages for now.

it relies on the tests to check if the treeshake broke anything deep.
2024-05-03 10:42:49 +02:00
Tim Sullivan
5c25069c58
[Shared UX] Clean up after TS upgrade (#179588)
## Summary

Closes https://github.com/elastic/kibana/issues/176113

---------

Co-authored-by: Sébastien Loix <sebastien.loix@elastic.co>
2024-04-01 08:50:59 -07:00
Tiago Costa
250790e0f1
chore(NA): upgrade typescript into v4.9.5 (#175178)
This PR bumps the Typescript version used on Kibana into v4.9.5. The
full set of changes can be found
[here](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/).
So far, as long I can see, the performance is better than in the version
we're currently in.

I didn't want to make assumptions for such a diversity of type errors
across the codebase so instead I choose to mark the failures with
`@ts-expect-error` and let each team decide how to handle it.

There is a list below with the files (and teams those belong to) where
the annotations were added. If each team could provide help of fixing
the ones under their domain it would be fantastic. It can be done in
this PR or in subsequent ones.

Here it goes the list for follow up:

@elastic/kibana-core - tracking issue:
https://github.com/elastic/kibana/issues/176153
- [ ]
[packages/analytics/client/src/analytics_client/analytics_client.ts](https://github.com/elastic/kibana/pull/175178/files#diff-57477fa4b8c2fcd5a3159e8a6a9a1db80199dbe94b2917a520d4dcee4f65599b)
- [ ]
[packages/analytics/client/src/analytics_client/context_service.ts](https://github.com/elastic/kibana/pull/175178/files#diff-b7802a3b9a46305607ff678abde499d9c9e1dd8b1f3f6a76add1a8c3a0b94e43)
- [ ]
[packages/analytics/client/src/analytics_client/types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-6584fc2ecf29864805de0f0f82dcff81a850b53aeff25932a598c9157c991d43)
- [ ]
[packages/core/http/core-http-router-server-internal/src/validator.ts](https://github.com/elastic/kibana/pull/175178/files#diff-5a4d386d142b33439aa7c638b7ddc2300da40155c636b4cf3119929b8bb57b72)
- [ ]
[packages/core/http/core-http-server-internal/src/cookie_session_storage.ts](https://github.com/elastic/kibana/pull/175178/files#diff-9efcaa58a5bdbfcac57c68b9c2e108b921c9c5ea88abf90920191b150d56a03a)
- [ ]
[packages/core/plugins/core-plugins-server-internal/src/create_browser_config.ts](https://github.com/elastic/kibana/pull/175178/files#diff-b49a02fac82b32dd34c271d0ed71f7f79f173591e6810b32093975bd50fe11b1)
- [ ]
[packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_update.ts](https://github.com/elastic/kibana/pull/175178/files#diff-9a151f7dc25effb6f2bb084075b7d1d8e8ee049dcd91e92a0d27e014d3bc82b8)
- [ ]
[packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.ts](https://github.com/elastic/kibana/pull/175178/files#diff-d5a4ebda74b0c2e2ca625fe395a185e3ff0076bc44614cf640cf33cbc5cba2bd)
- [ ]
[packages/kbn-es-types/src/search.ts](https://github.com/elastic/kibana/pull/175178/files#diff-49222c37a13c4c85c287947aaa8293029513f4a34933fcac6116ad3059ee8fcf)
- [ ]
[packages/kbn-utility-types/src/dot.ts](https://github.com/elastic/kibana/pull/175178/files#diff-f14998302c20ca97ac7f3faa7b542f22670708eac134e6af96c354489a641689)
- [ ]
[src/core/server/mocks.ts](https://github.com/elastic/kibana/pull/175178/files#diff-a3e30603bf537517842354df3548e88a25f4d9e2a6be08f95b88fb8db48e4228)
- [ ]
[test/plugin_functional/test_suites/core_plugins/rendering.ts](https://github.com/elastic/kibana/pull/175178/files#diff-eb6bd8a02c024aa1ab5c3debbeda149e8d2fb2614bca80d09c3f9aa21100ed7d)

@elastic/kibana-presentation 
- [ ]
[packages/content-management/content_editor/src/__jest__/tests.helpers.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-6e56e39c2e9accef38070408bb589fb4cc973e4353098574be142aa8e3da399e)
- [ ]
[src/plugins/embeddable/public/lib/embeddables/embeddable_factory.ts](https://github.com/elastic/kibana/pull/175178/files#diff-1aa4b1f585b7a75d996ad7620d8cfef03584e41f77d529172acc5250f5de092f)
- [ ]
[src/plugins/presentation_util/public/services/create/provider.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-baa5fb3d72bf64b6c269155b736f6af387688b0f2f77d804f5fd5ced69d3e2c9)
- [ ]
[x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts](https://github.com/elastic/kibana/pull/175178/files#diff-da216f23664ac188404e9a48cdf33b05ad121512d988da5cd88a72724d5bfff9)
- [ ]
[x-pack/plugins/canvas/server/templates/status_report.ts](https://github.com/elastic/kibana/pull/175178/files#diff-45598e8b99710f8fd7a0a00eb7b0810cb24bf529b7fefb52dfd5f05b82a23578)
- [ ]
[x-pack/plugins/canvas/server/templates/summary_report.ts](https://github.com/elastic/kibana/pull/175178/files#diff-b1eb9cec629f0adcae86dede388d6b343b785970a458fbf57c96dbd32b3fc8b5)
- [ ]
[x-pack/plugins/canvas/types/arguments.ts](https://github.com/elastic/kibana/pull/175178/files#diff-c7d1e4fa5026000bb99d03e5dace364226857c8e1e928a182c14c3f33f0006d9)
- [ ]
[x-pack/plugins/canvas/types/functions.ts](https://github.com/elastic/kibana/pull/175178/files#diff-00548b1936e05f24bc8dcbf453bf5a49f0f129989bab422926d3f4b56e35abae)

@elastic/apm 
- [ ]
[packages/kbn-apm-synthtrace-client/src/lib/interval.ts](https://github.com/elastic/kibana/pull/175178/files#diff-ec08c88331cc24811a3e24cec3aa99d02a707fb1a5848e1fb3a7c3172f99f1e7)
- [ ]
[packages/kbn-apm-synthtrace/src/lib/shared/get_serialize_transform.ts](https://github.com/elastic/kibana/pull/175178/files#diff-98d45df58fce30ac60a87c3a88aa7368ecf16f5b79b68a67419d8546974e42db)
- [ ]
[packages/kbn-apm-synthtrace/src/lib/utils/with_client.ts](https://github.com/elastic/kibana/pull/175178/files#diff-612d609963c9fe7830bc4e522bd3bb614369772906708b163e9854ec85cf879c)
- [ ]
[x-pack/plugins/apm/server/lib/helpers/transactions/get_is_using_transaction_events.test.ts](https://github.com/elastic/kibana/pull/175178/files#diff-69ee25aee396b7ccb9cc749b4f9cfad19a380bf3c4eb1f2d1848390b75477732)

@elastic/obs-knowledge-team  
- [ ]
[packages/kbn-io-ts-utils/src/to_json_schema/index.ts](https://github.com/elastic/kibana/pull/175178/files#diff-012b20f075e09f40a1839b759082ffea0122aeb79d6b5fd5e642f9abee2435e2)
- [ ]
[packages/kbn-server-route-repository/src/test_types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-a4e28211d0c856831b71488f849f1c9e542373d4a287baa3cbfa032278cc8dc0)

@elastic/security-detection-engine   
- [ ]
[packages/kbn-securitysolution-io-ts-alerting-types/src/threat_mapping/index.test.ts](https://github.com/elastic/kibana/pull/175178/files#diff-594114826caa3dee11e8dda5d6a67d4ce852b02f5d4df9721925c19d9c5d97af)
- [ ]
[packages/kbn-securitysolution-utils/src/add_remove_id_to_item/index.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8a1645d3d66eedeb05f8d954a3855523f8403b7a9c59200ad8184af96bb28cfb)
- [ ]
[x-pack/plugins/lists/server/routes/utils/build_siem_response.ts](https://github.com/elastic/kibana/pull/175178/files#diff-170882f010e12304aec81e167487cfc086c2d6a1d7dbbb36d1db2215d072577e)

@elastic/appex-sharedux 
- [ ]
[packages/shared-ux/router/impl/routes.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-43ba27115faf87c05460364c3b30b32f2794451404c82470653ccd9258e944b8)
- [ ]
[src/plugins/files/server/routes/file_kind/enhance_router.ts](https://github.com/elastic/kibana/pull/175178/files#diff-33258e2bd2f400b53a1366511ec3ef1c83b8f0aee762c1bd83abdea3ff153c2a)
- [ ]
[src/plugins/files/server/routes/types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-bad66d1fdd59cf33bfa9a20aa96dde580fab1b7da8252723ee08c4e99203074f)

@elastic/kibana-visualizations 
- [x]
[src/plugins/chart_expressions/expression_legacy_metric/public/__stories__/metric_renderer.stories.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-e66ed20c106e40aee23cbca1980280ef6600797f5d2210486be007d7fe5d72ca)
- [x]
[src/plugins/chart_expressions/expression_legacy_metric/public/components/with_auto_scale.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-d45fb549abb422cdd706da86c52a3d9dc3b0517f028b966b20cf2679aabcd24f)
- [x]
[src/plugins/expressions/common/execution/execution_contract.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8817ec58899f80b4bfd6144dc59c3e6dc9a508e31264cd2bdf155a0b1746d9f9)
- [x]
[src/plugins/vis_types/table/public/components/table_vis_basic.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-4de9a68e38b105b862755f59d2d05722bfba6ffc85dcb0b2cf5eaf754a6afb50)
- [x]
[src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/percentile.ts](https://github.com/elastic/kibana/pull/175178/files#diff-c5fef6976b67ee678ec2dda15e0bd3ca56bef8404565499b915783a40c3c908d)
- [x]
[src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/percentile_rank.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8ad6988492e0ada34f9899f56f40533e41e537d6d79af1cc3794fdb68fbff358)
- [x]
[src/plugins/visualizations/public/vis.ts](https://github.com/elastic/kibana/pull/175178/files#diff-15c314cac8f334b9e9feb83d9f23c0c9e94f4c85405cfa4b4e3b3b445bd6763e)
- [x]
[src/plugins/visualizations/public/vis_async.ts](https://github.com/elastic/kibana/pull/175178/files#diff-d5e129fbb0217fe4da38f828794cd141bc6a4d32d87847713920312a5d27f150)
- [ ]
[x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/formula.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-5624778a752c98be20953fd297e58165dab354ddab95bcf0c6b2a91d854a9c71)
- [x]
[x-pack/plugins/lens/public/debounced_component/debounced_component.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-9c14c9f29c5b351993b25d462b1d988e354068a1db9a8651515c3ee85fbd6ce9)
- [ ]
[x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-8ca1f3be4f6696d9c05773cfaa23d7489a1c460fffdf39c8ad2ba8aa09f6c194)
- [ ]
[x-pack/plugins/lens/public/embeddable/expression_wrapper.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-d3a5ba0620f3712afd6af94b1f4ceea107d356c6812ae245d1b496caf86c54a7)
- [x]
[x-pack/plugins/lens/public/state_management/lens_slice.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8b56f34b3034981765e12503ccd32ca15b2d889ab6acd594737ae5313a5e2312)
- [x]
[x-pack/plugins/lens/server/migrations/common_migrations.ts](https://github.com/elastic/kibana/pull/175178/files#diff-7609127370894696659846e16e36353fda9cc11150c663334236caf597854b24)
- [ ]
[src/plugins/embeddable/public/registry/saved_object_to_panel_methods.ts](bcd925ecb6 (diff-1401b355377c76ab6458756aa0e3177beef5ec56796c58b7a52b5e003f85b5cf))

@elastic/kibana-data-discovery 
- [ ]
[src/plugins/data_view_management/public/components/test_utils.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-60386b173801a1e7fa97b99de49501c4fe7053c099ee06107292461acc7d26a8)
- [ ]
[src/plugins/unified_histogram/public/layout/layout.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-03181d67508c4c66d682a019b9b1e9235ca8a6dc656450e563422c9720bfa24f)

@elastic/platform-deployment-management 
- [ ]
[src/plugins/es_ui_shared/static/forms/hook_form_lib/components/use_field.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-ef2d4424a31a8d8def4c1c2d9d756cfef9cc58b30837c1b6639e3419e572cdd9)
- [ ]
[src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.ts](https://github.com/elastic/kibana/pull/175178/files#diff-b80eb528652fd57fe88cae03deed4737cba5992b3a9ddf62259e4aa892b2ec68)
- [ ]
[src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field_from_props.ts](https://github.com/elastic/kibana/pull/175178/files#diff-ac8d10db6808671a05edbe0e9f4cecf330377cf85aaef8d96019e8e1dc7987ef)
- [ ]
[src/plugins/es_ui_shared/static/forms/hook_form_lib/types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-3e75c35c5d016b55290a30604c278eaf90bbd5a78a26613dbed19f0abd59212f)

@elastic/kibana-security 
- [x]
[src/plugins/interactive_setup/public/use_form.ts](https://github.com/elastic/kibana/pull/175178/files#diff-afe9ad58c9ccaf628d72ed916620587703bd960ba313e3199fbef4c98ad30841)

@elastic/ml-ui 
- [ ]
[x-pack/packages/ml/cancellable_search/src/use_cancellable_search.ts](https://github.com/elastic/kibana/pull/175178/files#diff-4a366c647aadac020022b1186fa424fa6475b2ba907d9391cfff5e77863dec48)
- [ ]
[x-pack/packages/ml/date_picker/src/components/full_time_range_selector.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-b5dd4c2d53eedbc4d749261001ab2f735f798ec6cbf249c900db517294a4ec59)
- [ ]
[x-pack/plugins/aiops/public/hooks/use_cancellable_search.ts](https://github.com/elastic/kibana/pull/175178/files#diff-361b7df5c49f9b67a897baab531df2456ceba3b57eaee9b2bb193b4d70aed052)
- [ ]
[x-pack/plugins/data_visualizer/public/application/data_drift/use_data_drift_result.ts](https://github.com/elastic/kibana/pull/175178/files#diff-0c1ebe9287033ed3afdbe615c8e95f6091285de5df1455134d9f6d14d3e9b970)

@elastic/response-ops 
- [ ]
[x-pack/plugins/alerting/server/application/rule/methods/create/create_rule.ts](https://github.com/elastic/kibana/pull/175178/files#diff-a4ecdf971673064aa6dc4ab5620e7b128efcc27b3e77804a3753d2839eaa7ba2)
- [ ]
[x-pack/plugins/alerting/server/application/rule/methods/resolve/types/resolved_rule.ts](https://github.com/elastic/kibana/pull/175178/files#diff-fd0549bd17f14e41a3c47a0dfe01a3cbd76f141983aa076ce30537db4edb0f0c)
- [ ]
[x-pack/plugins/alerting/server/routes/get_rule.test.ts](https://github.com/elastic/kibana/pull/175178/files#diff-5c8d8530f6a5ebb71ff59f03cb212af6ca2cffe015ee061cd998d11b63f5fd2d)
- [ ]
[x-pack/plugins/alerting/server/routes/lib/rewrite_rule.test.ts](https://github.com/elastic/kibana/pull/175178/files#diff-032345b22421e404941669203a41b51b23a5223a555ef286ab29ff1ea199a287)
- [ ]
[x-pack/plugins/alerting/server/routes/rule/apis/create/create_rule_route.test.ts](https://github.com/elastic/kibana/pull/175178/files#diff-425f9213402823ce800f9f4400ccce476c1b15d82302f238b3e07312bcacf1fe)
- [ ]
[x-pack/plugins/cases/public/api/utils.ts](https://github.com/elastic/kibana/pull/175178/files#diff-3b36a4b3a6bcd19c1ee4aa7f83fb50e08ae3715c936c26ca911df9e8da319d63)
- [ ]
[x-pack/plugins/cases/public/components/case_view/components/user_list.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-1ce6d0fd74881ed9a9dd9bbe7ec597083382aee3395fb032c46ec7acd8a201f5)
- [ ]
[x-pack/plugins/stack_connectors/public/connector_types/opsgenie/params.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-e08360892ade8eba65f8e6097525cb749918b8beb9d949d3f9e3a79dfcb9df97)
- [ ]
[x-pack/plugins/triggers_actions_ui/public/application/lib/suspended_component_with_props.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-2f91d7445dd017643fe50c068a42d4c143ca0208aac42ad35d10401aaf6480c6)
- [ ]
[x-pack/plugins/triggers_actions_ui/public/application/sections/action_connector_form/action_alerts_filter_timeframe.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-37c30c5d49eaaaeef4e05d01d4e6e73584684ab9707d731c7945aca56cde6091)
- [ ]
[x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_conditions.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-51a33d1d3b082b2615edd649b7ebc3bdb00e9c107cee754e468fa9512d064835)
- [ ]
[x-pack/plugins/triggers_actions_ui/public/application/sections/rule_form/rule_conditions_group.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-24314823291cc4b2970c60f3c66c9e1c2d49aa88b668a063dd1d44724cde7080)

@elastic/security-threat-hunting-investigations
- [ ]
[x-pack/plugins/ecs_data_quality_dashboard/server/lib/build_response/index.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8aefd6c90e985c7a1c8715b4c894be71e3d8abcb58fad0c513b4ab37e23cffbb)

@elastic/security-generative-ai
- [ ]
[x-pack/plugins/elastic_assistant/server/lib/build_response/index.ts](https://github.com/elastic/kibana/pull/175178/files#diff-0e0fa80b96f36b0daa287213f9f35da73adfd869d33b16a4f44ab1a336f66925)

@elastic/enterprise-search-frontend
- [ ]
[x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector_total_stats.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-61c41618bb97778cb1fd7d0645ddc07e779f1b1c63a0e7684b0a6df664de0c91)
- [ ]
[x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/crawler_total_stats.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-d8651696438142564028406ccab850b316a3fb3b6d5f38ca7e4e6804f6491d1b)
- [ ]
[x-pack/plugins/enterprise_search/public/applications/search_index/pipelines/pipelines_json_configurations_logic.ts](https://github.com/elastic/kibana/pull/175178/files#diff-d77f51637904e4d4672b6b2d7f7ced6df73af142e8ba3fb5a074c700b5cf0fd0)
- [ ]
[x-pack/plugins/enterprise_search/public/applications/shared/accordion_list/accordion_list.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-f19e11825ff7d643f74a9f95cda32843685c28f0a7e7fc8b6d9f05dc659e0ee7)

@elastic/fleet 
- [ ]
[x-pack/plugins/fleet/.storybook/context/fixtures/integration.nginx.ts](https://github.com/elastic/kibana/pull/175178/files#diff-0d84f41c1e7da6af3d1dc869fa722c384247beddf2a58de6c00bdedd3a835ed1)
- [ ]
[x-pack/plugins/fleet/common/authz.test.ts](https://github.com/elastic/kibana/pull/175178/files#diff-25b3fe4e87a154100ec03010e9c5f08a00790104352757922f03caf2c24536f8)
- [ ]
[x-pack/plugins/fleet/public/applications/fleet/sections/settings/hooks/use_confirm_modal.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-ea640c827015978c83ae51a221392f57124a6fccb90c977991133baa020f6487)
- [ ]
[x-pack/plugins/fleet/server/services/preconfiguration.ts](https://github.com/elastic/kibana/pull/175178/files#diff-82d451a43233c196f1c527436ec5b4afe16c669d25f912086ef83939fe04fbda)

@elastic/platform-deployment-management
- [ ]
[x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/form/form_errors_context.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-6fdd461892c891ebad0ba30154ecf28479dd10c63b756eb57e658a02cb62ae63)

@elastic/obs-ux-logs-team / @elastic/obs-ux-infra_services-team

- [ ]
[x-pack/plugins/infra/public/containers/metrics_source/source.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-f27b71c245d27489c408611dfd2d2c020e4e881b6db7dcaf0b2f0cf8401ce5a1)
- [ ]
[x-pack/plugins/infra/public/pages/metrics/metric_detail/components/section.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-d782e8608b4b6ec1e5de15432ee899be94dfbdbedddc8d94b09c3399e2754294)
- [ ]
[x-pack/plugins/infra/public/pages/metrics/metric_detail/components/sub_section.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-eb598de689a9aa6536795e7f63a7c59a771c2c4e0a0bb81ee0102c8ce864620d)
- [ ]
[x-pack/plugins/logs_shared/public/components/logging/log_text_stream/vertical_scroll_panel.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-68bd0b43320ea3e59359e977d70f1c2e33518c1de5d97f39df17cb0a6a71cb99)
- [x]
[x-pack/plugins/observability_solution/logs_explorer/public/utils/proxies.ts](https://github.com/elastic/kibana/pull/175178/files#diff-134c464cedf12a2a2e1bceb1014d63e9ac7df4fd263ee5fe4ddd13fe3af7382d)
- [x]
[x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/validation.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-cf41bdb5d7247755b3b5dff0f428d847c9aa2f1ecff14c4e8fbfec5048e3ff91)
- [x]
[x-pack/plugins/synthetics/public/apps/synthetics/state/service_locations/api.ts](https://github.com/elastic/kibana/pull/175178/files#diff-571225171a2250a7b66cdc308eea2308cccdfc5ddf69c454dffd59d890947fe3)
- [x]
[x-pack/plugins/synthetics/public/utils/api_service/api_service.ts](https://github.com/elastic/kibana/pull/175178/files#diff-04d770eab9404afbf543d52e1ca2e869e0248f86ca2943d8811ca95a6a37f331)
- [x]
[x-pack/plugins/synthetics/server/routes/types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-ddd7e79b79cf790fbd1798174b6f6a25cd869d1afd4ecf53f1a3febaa980f618)
- [x]
[x-pack/plugins/synthetics/server/synthetics_service/service_api_client.ts](https://github.com/elastic/kibana/pull/175178/files#diff-b22608feca8f7a00a94d538f7a51c1be3bbd355d9966e5a1e4b4b2e84c663342)
- [x]
[x-pack/plugins/uptime/public/legacy_uptime/components/common/monitor_tags.test.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-840db8c32fd91ca5075b60203426a93bff6a3e522f7d65f0a9c5b02733071cf4)
- [x]
[x-pack/plugins/uptime/public/legacy_uptime/state/api/utils.ts](https://github.com/elastic/kibana/pull/175178/files#diff-576a5e3c17bfaeaaf8f1c3df1cfc7f84021bf7ee234e7df77c38cd0afd90d573)
- [x]
[x-pack/plugins/uptime/public/utils/api_service/api_service.ts](https://github.com/elastic/kibana/pull/175178/files#diff-85df170f1ea77dc9faa8aaec88929babd7bd24ee78845ea5bb8e9ed43c19e051)
- [x]
[x-pack/plugins/uptime/server/legacy_uptime/lib/requests/get_snapshot_counts.ts](https://github.com/elastic/kibana/pull/175178/files#diff-f80f1cca2be5a43785f840c2705b59732e4eb8b57f8879806600b3220e9bb234)
- [x]
[x-pack/plugins/uptime/server/legacy_uptime/lib/requests/search/find_potential_matches.ts](https://github.com/elastic/kibana/pull/175178/files#diff-80c8152e4da9f7d2fa42cd5dcf35a34c70cd86b32da08d0710620272ac4e9f62)
- [x]
[x-pack/plugins/uptime/server/legacy_uptime/lib/requests/search/query_context.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8692f1eec652074b463e4b8478116ba796ce5cd0bcc818755300b36e80baeb95)
- [x]
[x-pack/plugins/uptime/server/legacy_uptime/lib/requests/search/refine_potential_matches.ts](https://github.com/elastic/kibana/pull/175178/files#diff-7b93319a7e63eb6e09cbb3147b49f40ef794f684be024d62f094c72cfdb2693c)
- [x]
[x-pack/plugins/uptime/server/legacy_uptime/routes/types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-5618c2b61f704802d87c620000f5500f2340605fbe8abe5a261864e83ed9eded)
- [x]
[x-pack/plugins/ux/public/application/ux_app.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-0bd45972562be4fcdad56b6fe2c2c9800775689067b0c2a956733e5c334b43c9)
- [x]
[x-pack/plugins/ux/public/components/app/rum_dashboard/ux_overview_fetchers.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8bfd9c637261e22d413a95546cb9dd54efcd41930646fbdf8081965f81b4dcf3)

@elastic/kibana-gis 
- [ ]
[x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts](https://github.com/elastic/kibana/pull/175178/files#diff-23b9c9add47e2d51d022faf8e8527b46febf5d265fdddfb383bbc86b58257691)
- [ ]
[x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-b981aee9ac5aa5b1eb7f811eae5a461f15835f2d81d693b40a402fd55a8b9f59)
- [ ]
[x-pack/plugins/maps/public/classes/styles/vector/symbol_utils.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-94970fa194c5e647c78a36fe6c8894365780f320f77db6065572bec88ac5586b)
- [ ]
[x-pack/plugins/maps/public/lazy_wrapper.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-27e988b8e71057b5c527ff008ca6c92a545bbe29ddeb9ea2a461aeb5bdb498ae)

@elastic/observability-ui 
- [ ]
[x-pack/plugins/observability_shared/public/contexts/inspector/inspector_context.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-cd6617fddf50f9a5e29d8674a54dbd8d65e298f31fec6c2a9635bd39681b6910)

@elastic/security-defend-workflows
- [ ]
[x-pack/plugins/osquery/common/utility_types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-e1aaf9c0e4f18af25b940e2b0aa55fb274022fa5fd2e378276c88da6b0e7c392)

@elastic/security-solution
- [ ]
[x-pack/plugins/security_solution/common/endpoint/generate_data.ts](https://github.com/elastic/kibana/pull/175178/files#diff-12dc63d6524a714b19d487bcf75486270eea7d5d52e6d1ecdeaa935545f33ac0)
- [x]
[x-pack/plugins/security_solution/common/utility_types.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8d3ac0c16b9803465d90e48032b32738dfe8ff891b152677542607db57cb684b)
- [ ]
[x-pack/plugins/security_solution/public/common/components/page/manage_query.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-43f472ce0931147aadfa34f11cbb0804c1ef968a999528f3ac70ac39977dde21)
- [ ]
[x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/network/dns_top_domains.ts](https://github.com/elastic/kibana/pull/175178/files#diff-f8273324b45291f2561273d33a0080807a82fb7deb08124d06418f2882360d5b)
- [ ]
[x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/users/kpi_user_authentication_metric_failure.ts](https://github.com/elastic/kibana/pull/175178/files#diff-4653e6776fc5d5ab3dba81b9d1df1b23d936975d5770c6456eb6ecda99951b8b)
- [ ]
[x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/users/kpi_user_authentications_area.ts](https://github.com/elastic/kibana/pull/175178/files#diff-c69f65409bc0c3c1d986616357292a9506e02d5510f418e3969add19ed5c9073)
- [ ]
[x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/users/kpi_user_authentications_bar.ts](https://github.com/elastic/kibana/pull/175178/files#diff-0b2b3087618234227771b2c2c7b905c727225a158f21cdc7f70148ec22938ad8)
- [ ]
[x-pack/plugins/security_solution/public/common/components/visualization_actions/lens_attributes/users/kpi_user_authentications_metric_success.ts](https://github.com/elastic/kibana/pull/175178/files#diff-c4ccd8146a7b8614dd2b431e552f0a9cdd2fa759e852f16898b1e4ca5ae31520)
- [ ]
[x-pack/plugins/security_solution/public/common/lib/kibana/hooks.ts](https://github.com/elastic/kibana/pull/175178/files#diff-8aba26a2e24f78b4272485f28691a6315422c65537c9ae54ff5754b0bd75bc5d)
- [ ]
[x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-cfed12b5fe28617d39f22c2f5e5573e1f7c5bab15bc274245b71fefb0b67540f)
- [ ]
[x-pack/plugins/security_solution/public/management/components/endpoint_response_actions_list/components/actions_log_table.tsx](https://github.com/elastic/kibana/pull/175178/files#diff-e15c09422e069163df1b0e68c612fe7000aa83c817bbca386f5a59a6251ccfab)
- [ ]
[x-pack/plugins/security_solution/scripts/endpoint/common/agent_downloads_service.ts](https://github.com/elastic/kibana/pull/175178/files#diff-74090a1d7f0d5bcef92cf0f90c279334c8742fc45dad51dcc733113124689847)
- [ ]
[x-pack/plugins/security_solution/server/endpoint/services/actions/clients/mocks.ts](https://github.com/elastic/kibana/pull/175178/files#diff-cd5726e4db2d4f93c2fa913032e9803facf1ed926ce0ba38864c0342d9ff968e)
- [ ]
[x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts](https://github.com/elastic/kibana/pull/175178/files#diff-637b99199ff7a5c6e2cc30bf4a460118fc7357afe5f60bdfeb0cb724701fc405)
- [ ]
[x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/bulk_actions/utils.ts](https://github.com/elastic/kibana/pull/175178/files#diff-288cb69918810a15b715a67fd6d978dfc6aaa64630b3f06ff5c9bf7485cb8cc7)
- [ ]
[x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/bulk_actions/validations.ts](https://github.com/elastic/kibana/pull/175178/files#diff-b6c6d3cff1c78443a0b5d34b6ec820ce9fa8584b1a88c82b7fde100788655381)
- [ ]
[x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_dev_tool_content/routes/read_prebuilt_dev_tool_content_route.ts](https://github.com/elastic/kibana/pull/175178/files#diff-f2f612dd995d2c059b2e28dde1009b16c361ce9e1ae4600343c47d3beacfb0a3)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Nick Partridge <nick.ryan.partridge@gmail.com>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@elastic.co>
Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
Co-authored-by: achyutjhunjhunwala <achyut.jhunjhunwala@elastic.co>
Co-authored-by: Justin Kambic <jk@elastic.co>
Co-authored-by: Jan Monschke <jan.monschke@elastic.co>
2024-02-25 01:23:57 +00:00
Patryk Kopyciński
a1d02824f1
[shared-ux-router] Add Router and Routes components (#159834)
## Summary

Why?

To simplify the process of migration to react-router@6.
https://github.com/remix-run/react-router/discussions/8753

What problems exactly it solves?

- In my previous PR I added `CompatRouter`
https://github.com/elastic/kibana/pull/159173, which caused changes in
~50 files and pinged 15 Teams. And this is just meant to be a temporary
change, so when we're done with the migration I would have to revert
these changes and engage everyone to review the PR again. And it is just
a single step in the migration strategy. So to make our lives easier I
think it would be better to have a common place where we do import our
router components because it will allow us to surface some extra logic
in single place instead of going through the whole source code again.

- `react-router@6` doesn't support a custom `Route` component, so that
means our custom `Route` component that we're using almost everywhere
today, will need to be replaced by a different solution. I have decided
to add `Routes` component, which will be responsible for rendering the
proper component (`react-router@6` renamed `Switch` to `Routes`, so I
have named this component to align with the dictionary of the new
router) and also is going to add the logic that today is done in `Route`
(moving logic to `Routes` will be done in the follow-up PR, here I just
wanted to focus on using the common router components to make the review
process easier)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-23 10:02:06 -05:00
Patryk Kopyciński
09577fa0af
Add react-router-dom-v5-compat (#159173)
## Summary

Prep work for bumping react-router to v6
Following https://github.com/remix-run/react-router/discussions/8753

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-14 05:13:15 -07:00
Rachel Shen
50a4fc4916
[Shared UX] Adoption of Shared UX Route component (#150357)
## Summary

This PR removes all imports of Route from react-router-dom and
'@kbn/kibana-react-plugin/public' and instead imports Route from
@kbn/shared-ux-router.

### Context
Based on
https://github.com/elastic/kibana/issues/132629#issue-1243243678 This PR
executes steps 2 - 4:

> 2. To make the transition easier, we want to re-export other
react-router-dom exports alongside the modified' Route'.
> 3. Solutions should start using that Route component in place of the
one from react-router-dom. I.e. replace all occurrences of import { ...
} from 'react-router-dom' with import { ... } from
'@kbn/shared-ux-router'.
> 4. All manual calls to useExecutionContext are not needed anymore and
should be removed.

### Future PR

Looks like this might be getting worked on in:
https://github.com/elastic/kibana/pull/145863 (thanks!)

> Introduce an ESlint rule that ensures that react-router-dom is not
used directly in Kibana and that imports go through the new
@kbn/shared-ux-router package.

This is tangentially accomplished through
https://github.com/elastic/kibana/pull/150340 but only addresses using
Route through @kbn/kibana-react-plugin/public'


### Checklist

Delete any items that are not applicable to this PR.

- [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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Tiago Costa <tiagoffcc@hotmail.com>
2023-02-14 19:25:04 +00:00
spalger
e3dff93c97
[codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
Spencer
afb09ccf8a
Transpile packages on demand, validate all TS projects (#146212)
## Dearest Reviewers 👋 

I've been working on this branch with @mistic and @tylersmalley and
we're really confident in these changes. Additionally, this changes code
in nearly every package in the repo so we don't plan to wait for reviews
to get in before merging this. If you'd like to have a concern
addressed, please feel free to leave a review, but assuming that nobody
raises a blocker in the next 24 hours we plan to merge this EOD pacific
tomorrow, 12/22.

We'll be paying close attention to any issues this causes after merging
and work on getting those fixed ASAP. 🚀

---

The operations team is not confident that we'll have the time to achieve
what we originally set out to accomplish by moving to Bazel with the
time and resources we have available. We have also bought ourselves some
headroom with improvements to babel-register, optimizer caching, and
typescript project structure.

In order to make sure we deliver packages as quickly as possible (many
teams really want them), with a usable and familiar developer
experience, this PR removes Bazel for building packages in favor of
using the same JIT transpilation we use for plugins.

Additionally, packages now use `kbn_references` (again, just copying the
dx from plugins to packages).

Because of the complex relationships between packages/plugins and in
order to prepare ourselves for automatic dependency detection tools we
plan to use in the future, this PR also introduces a "TS Project Linter"
which will validate that every tsconfig.json file meets a few
requirements:

1. the chain of base config files extended by each config includes
`tsconfig.base.json` and not `tsconfig.json`
1. the `include` config is used, and not `files`
2. the `exclude` config includes `target/**/*`
3. the `outDir` compiler option is specified as `target/types`
1. none of these compiler options are specified: `declaration`,
`declarationMap`, `emitDeclarationOnly`, `skipLibCheck`, `target`,
`paths`

4. all references to other packages/plugins use their pkg id, ie:
	
	```js
    // valid
    {
      "kbn_references": ["@kbn/core"]
    }
    // not valid
    {
      "kbn_references": [{ "path": "../../../src/core/tsconfig.json" }]
    }
    ```

5. only packages/plugins which are imported somewhere in the ts code are
listed in `kbn_references`

This linter is not only validating all of the tsconfig.json files, but
it also will fix these config files to deal with just about any
violation that can be produced. Just run `node scripts/ts_project_linter
--fix` locally to apply these fixes, or let CI take care of
automatically fixing things and pushing the changes to your PR.

> **Example:** [`64e93e5`
(#146212)](64e93e5806)
When I merged main into my PR it included a change which removed the
`@kbn/core-injected-metadata-browser` package. After resolving the
conflicts I missed a few tsconfig files which included references to the
now removed package. The TS Project Linter identified that these
references were removed from the code and pushed a change to the PR to
remove them from the tsconfig.json files.

## No bazel? Does that mean no packages??
Nope! We're still doing packages but we're pretty sure now that we won't
be using Bazel to accomplish the 'distributed caching' and 'change-based
tasks' portions of the packages project.

This PR actually makes packages much easier to work with and will be
followed up with the bundling benefits described by the original
packages RFC. Then we'll work on documentation and advocacy for using
packages for any and all new code.

We're pretty confident that implementing distributed caching and
change-based tasks will be necessary in the future, but because of
recent improvements in the repo we think we can live without them for
**at least** a year.

## Wait, there are still BUILD.bazel files in the repo
Yes, there are still three webpack bundles which are built by Bazel: the
`@kbn/ui-shared-deps-npm` DLL, `@kbn/ui-shared-deps-src` externals, and
the `@kbn/monaco` workers. These three webpack bundles are still created
during bootstrap and remotely cached using bazel. The next phase of this
project is to figure out how to get the package bundling features
described in the RFC with the current optimizer, and we expect these
bundles to go away then. Until then any package that is used in those
three bundles still needs to have a BUILD.bazel file so that they can be
referenced by the remaining webpack builds.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-12-22 19:00:29 -06:00
spalger
5b44aa8295
rename codeowners from shared-ux to global-experience 2022-11-07 15:10:42 -06:00
Tiago Costa
e41569b4a6
fix(NA): wrongly spread stripInternal and rootDir configs across packages (#144463)
* chore(NA): remove overrides for rootDir on packages

* chore(NA): replace './target_types' with 'target_types' on packages

* chore(NA): removes stripInternal false configs

* chore(NA): remove unused strip internals
2022-11-03 01:04:55 +00:00
spalger
52f2b33a07
[auto] migrate existing plugin/package configs 2022-10-28 14:06:46 -05:00
Spencer
da60f57dff
[packages] add missing kibana.jsonc files (#141327) 2022-09-21 20:13:24 -05:00
Rachel Shen
89985e5289
[Shared UX] Migrate router from kibana react to shared ux (#138544) 2022-09-09 11:21:17 -07:00