Documentation
Preparatory work https://github.com/elastic/kibana/issues/46773
@elastic/kibana-app
Issue https://github.com/elastic/kibana/issues/84750
charts
<--> expressions
charts
<--> vis_default_editor
vis_default_editor
<--> visualizations
vis_default_editor
<--> visualize
visualizations
<--> visualize
| plugin | migration status|
|--------|-----------------|
|discover_enhanced|๐ด|
|lens|๐ด|
|graph|๐ด|
|advanced_settings|๐ด|
|charts| ๐ด|
|discover|๐ด|
|management|๐ด|
|kibana_legacy (https://github.com/elastic/kibana/pull/80992)|โ
|
|timelion|๐ด|
|vis_default_editor|๐ด|
|vis_type_metric|๐ด|
|vis_type_table|๐ด|
|vis_type_tagcloud|๐ด|
|vis_type_timelion|๐ด|
|vis_type_timeseries|๐ด|
|vis_type_vega|๐ด|
|vis_type_vislib|๐ด|
|vis_type_xy|๐ด|
|visualize|๐ด|
|visualizations|๐ด|
Blockers:
data
<--> expressions
#80510uiActions
<--> embeddable
uiActions
<--> data
#82047uiActions
<--> embeddable
#82047 @elastic/kibana-app-arch
| plugin | migration status|
|--------|-----------------|
| bfetch | ๐ด |
|data | ๐ด |
|embeddable | ๐ด |
|expressions | ๐ด |
|inspector (#81792)| โ
|
|kibana_react | โ
|
|kibana_utils | โ
|
|navigation | ๐ด |
|share (#82051) | โ
|
|ui_actions | ๐ด |
|data_enhanced | ๐ด |
|embeddable_enhanced | ๐ด |
|ui_actions_enhanced | ๐ด |
apm
<--> infra
@elastic/apm-ui
| plugin | migration status|
|--------|-----------------|
| apm (#81003) | ๐ด |
|apm_oss (#81003) | ๐ด |
@elastic/kibana-canvas
| plugin | migration status|
|--------|-----------------|
| canvas | ๐ด |
|dashboard_enhanced|๐ด|
|dashboard|๐ด|
|input_control_vis|๐ด|
|vis_type_markdown|๐ด|
@elastic/kibana-core-ui
| plugin | migration status|
|--------|-----------------|
| home | ๐ด |
| kibana_overview | ๐ด |
| global_search_bar | ๐ด |
@elastic/logs-metrics-ui
| plugin | migration status|
|--------|-----------------|
| infra | ๐ด (#80995) |
~@elastic/ingest-management~ will be done by @elastic/kibana-platform team
| plugin | migration status|
|--------|-----------------|
| ingest_manager (https://github.com/elastic/kibana/issues/82220) | ๐ด |
@elastic/observability-ui
| plugin | migration status|
|--------|-----------------|
| observability | ๐ด |
@elastic/stack-monitoring-ui
| plugin | migration status|
|--------|-----------------|
| monitoring | ๐ด |
@elastic/uptime
| plugin | migration status|
|--------|-----------------|
| uptime | ๐ด |
@elastic/ml-ui
| plugin | migration status|
|--------|-----------------|
| ml | ๐ด |
| transform | ๐ด |
@elastic/kibana-gis
| plugin | migration status|
|--------|-----------------|
| maps | ๐ด |
| maps_legacy | ๐ด |
| file_upload | ๐ด |
| maps_legacy_licensing | ๐ด |
| tile_map | ๐ด |
| region_map | ๐ด |
@elastic/kibana-operations
| plugin | migration status|
|--------|-----------------|
| src/dev | ๐ด |
@elastic/kibana-platform
| plugin | migration status|
|--------|-----------------|
| src/core | โ
|
| features | ๐ด |
| global_search | โ
|
| cloud | ๐ด |
| licensing | โ
|
| status_page | ๐ด |
| saved_objects | ๐ด waiting for data
|
| saved_objects_management | ๐ด |
| saved_objects_tagging | ๐ด |
| beats_management | ๐ด |
Blockers: โ ๏ธ Circular dependency between security
<--> spaces
https://github.com/elastic/kibana/issues/80496~~ (resolved via https://github.com/elastic/kibana/pull/81891)
@elastic/kibana-security
| plugin | migration status|
|--------|-----------------|
| security_oss (#82135) | โ
|
| spaces | ๐ด |
| encrypted_saved_objects | ๐ด |
| security | ๐ด |
@elastic/kibana-telemetry
| plugin | migration status|
|--------|-----------------|
| kibana_usage_collection (https://github.com/elastic/kibana/pull/81265) | โ
|
| newsfeed (https://github.com/elastic/kibana/pull/81254) | โ
|
| telemetry (https://github.com/elastic/kibana/pull/81090) | โ
|
| telemetry_collection_manager (https://github.com/elastic/kibana/pull/81090) | โ
|
| telemetry_management_section | ๐ด |
| usage_collection (https://github.com/elastic/kibana/pull/81090) | โ
|
| telemetry_collection_xpack (https://github.com/elastic/kibana/pull/81269) | โ
|
@elastic/kibana-alerting-services
| plugin | migration status|
|--------|-----------------|
| alerts | ๐ด |
| actions | ๐ด |
| event_log | ๐ด |
| task_manager | ๐ด |
| triggers_actions_ui | ๐ด |
| stack_alerts | ๐ด |
@elastic/enterprise-search-frontend
| plugin | migration status|
|--------|-----------------|
| enterprise_search | ๐ด |
@elastic/es-ui
| plugin | migration status|
|--------|-----------------|
|dev_tool (https://github.com/elastic/kibana/pull/82197) | โ
|
|console| ๐ด |
|es_ui_shared| ๐ด |
|cross_cluster_replication| ๐ด |
|index_lifecycle_management| ๐ด |
|console_extensions| ๐ด |
|es_ui_shared| ๐ด |
|grokdebugger| ๐ด |
|index_management| ๐ด |
|license_management| ๐ด |
|painless_lab| ๐ด |
|remote_clusters| ๐ด |
|rollup| ๐ด |
|searchprofiler| ๐ด |
|snapshot_restore| ๐ด |
|upgrade_assistant| ๐ด |
|watcher| ๐ด |
|ingest_pipelines| ๐ด |
Blockers: โ ๏ธ Circular dependency between security_solution
<--> lists
https://github.com/elastic/kibana/issues/80513
Blockers: โ ๏ธ Circular dependency between actions
<--> lists
Blockers: โ ๏ธ Circular dependency between security_solution
<--> case
@elastic/siem
@elastic/endpoint-app-team
| plugin | migration status|
|--------|-----------------|
|endpoint| ๐ด |
|siem| ๐ด |
|security_solution| ๐ด |
|case| ๐ด |
|lists| ๐ด |
@elastic/logstash
| plugin | migration status|
|--------|-----------------|
|logstash| ๐ด |
@elastic/kibana-reporting-services
| plugin | migration status|
|--------|-----------------|
|reporting| ๐ด |
@restrry for our planning purposes, is there a target release or deadline for this effort? ty
@ryankeairns @timroes
Making every plugin an independent TS project is a prerequisite for Phase 2
of https://github.com/elastic/kibana/issues/69706. That @elastic/kibana-operations team plans to start in v7.12 (cc @tylersmalley, @mistic)
Ideally, all the plugins migrate to TypeScript projects in v7.11, beginning of v7.12.
The main blocker at the moment is data
plugin, I suppose (cc @lukeelmers)
Ack @restrry -- we're sorting out how we want to handle the changes required for data
and I'll report back once updates are being made
@restrry According to the docs migration order matters, so plugins at the leaves of the dependency tree won't be able to begin migration until their dependencies have been migrated. Because of the sequential nature of this work, I'd like to set expectations. There are 6 weeks until feature freeze, and ES UI's apps have many unmigrated dependencies. For example, here are Index Management's dependencies:
data
expressions
uiActions
management
features
visTypeTimelion
visualizations
embeddable
savedObjects
discover
charts
visDefaultEditor
navigation
security
taskManager
securityOss
spaces
advancedSettings
savedObjectsManagement
dashboard
esUiShared
ingestManager
encryptedSavedObjects
cloud
Looking at how many dependencies remain to be migrated and how much time remains in the dev cycle, it seems likely that we'll be unblocked with a week or two remaining. This is also typically the time when we're focused on polishing and testing new features in preparation for feature freeze. Sometimes we uncover bugs or opportunities for improvement that we need to execute on in order to ship. With this in mind, i think there's a high probability that some percentage of ES UI's apps (~75%) won't be migrated to TS projects by 7.11 feature freeze.
It's also very likely that the security team's plugins won't be migrated either, as we first have to resolve the circular dependency between security and spaces. I've been working on a POC for this, but time has not been on my side this week. And based on CJ's list ^, we are one of the teams blocking their work.
I am rather surprised that Index Management has a dependency on the spaces plugin though. Is that transient by way of another dependency?
@legrego Yes, it's a transient dependency. Here's the package.json. It has an optional dependency upon security
, which is probably the cause of the spaces
transient dependency.
i think there's a high probability that some percentage of ES UI's apps (~75%) won't be migrated to TS projects by 7.11 feature freeze.
It's okay. It's not a user-facing feature at the end of the day. All the teams have some space in 7.12 to wrap up this work until @elastic/kibana-operations team starts introducing the new building toolchain.
@restrry Same heads-up from Kibana App side. This was not part of our 7.11 planning. We will try to squeeze some things where possible in, but I'd expect the majority of our plugins not to be migrated in the 7.11 time frame and hopefully we'll be able to get the majority done up to 7.12.
@restrry The Logstash team doesn't currently have any UI engineers and we will need someone to take over this work. Is this something you or your team can help with?
@roaksoax I''ll help out, but logstash depends on home, and data transitively, so it's probably going to be blocked from getting its own tsconfig set up until those are done.
The data plugin is the big rock sitting in the way of this work. I'd say 90% of plugins can't be completed right now because of dependencies on data.
Once that one has the circular dependencies resolved and its references set up it will make things a lot smoother. I've been working a bit on this so I'll try to help out where I can.
Data plugin is next thing on my list to look at; we know it's holding up everyone else. Will report back here with updates.
Update: I have a PR up for resolving the circular dependencies in the data/expressions plugins. A PR will be on the way soon for the uiActions ones.
Once we address those, I'll have a PR which cuts over data
, uiActions
, and expressions
to project refs all in one go, which should unblock a bunch of other plugins.
For those following along, we've eliminated the circular dependency between the security and spaces plugins via https://github.com/elastic/kibana/pull/81891
@lukeelmers any progress on the data
plugin migration to project refs?
Most helpful comment
For those following along, we've eliminated the circular dependency between the security and spaces plugins via https://github.com/elastic/kibana/pull/81891