-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Region-based semantic diagnostics #57842
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks for the PR! It looks like you've changed the TSServer protocol in some way. Please ensure that any changes here don't break consumers of the current TSServer API. For some extra review, we'll ping @sheetalkamat, @mjbvz, @zkat, and @joj for you. Feel free to loop in other consumers/maintainers if necessary. |
Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page. Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up. |
I haven't gone through the whole thing yet, but one thing we may want to do (maybe just for this PR's development and not long term) is to try and run this request at random positions before running compiler tests or similar. The thinking being that it shouldn't affect the analysis to do that. We had a fuzzer like this in pyright and it found loads of bugs in the type evaluator / checker that we were only previously able to observe via people crashing or reporting bugs we couldn't figure out. |
}; | ||
} | ||
|
||
function getNodesForRanges(file: SourceFile, ranges: TextRange[]): Node[] | undefined { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this is out of place in our repo, but I almost wonder if it would end up being more performant to make this a generator and pass that down as an interable, avoiding collecting a huge list of nodes that happen to be on screen. But maybe it's not that many.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's doable, but I don't know how much that impacts performance. How impactful do you think this change could be?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it depends on how big these arrays tend to be, and if we ever cancel the diagnostics request. I'm thinking of me looking at a particularly heavy part of the checker and scrolling, where it may turn out to be faster to not have produced a giant list and done a bunch of normalization or something. But, likely not required, just thinking aloud.
src/compiler/checker.ts
Outdated
clear(potentialThisCollisions); | ||
clear(potentialNewTargetCollisions); | ||
clear(potentialWeakMapSetCollisions); | ||
clear(potentialReflectCollisions); | ||
clear(potentialUnusedRenamedBindingElementsInTypes); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sort of wonder if we should be making one single object that we could drop all at once instead. We seem to keep adding more and more stuff like this into the checker, but I guess it's not so bad.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far I feel like this is looking good; happy with how minimal the changes seem to be.
}; | ||
} | ||
|
||
function getNodesForRanges(file: SourceFile, ranges: TextRange[]): Node[] | undefined { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it depends on how big these arrays tend to be, and if we ever cancel the diagnostics request. I'm thinking of me looking at a particularly heavy part of the checker and scrolling, where it may turn out to be faster to not have produced a giant list and done a bunch of normalization or something. But, likely not required, just thinking aloud.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.
5806f05
to
14bc9f5
Compare
14bc9f5
to
f1d87dc
Compare
@typescript-bot user test tsserver |
@gabritto Here are the results of running the user tests with tsserver comparing There were infrastructure failures potentially unrelated to your change:
Otherwise... Everything looks good! |
@gabritto Here they are:
tscComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
tsserverComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
startupComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
Developer Information: |
@gabritto Here are the results of running the top 200 repos with tsserver comparing Something interesting changed - please have a look. DetailsServer exited prematurely with code unknown and signal SIGABRT
Affected reposcalcom/cal.comRaw error text:RepoResults7/calcom.cal.com.rawError.txt in the artifact folder Replay commands: RepoResults7/calcom.cal.com.replay.txt in the artifact folder
Last few requests{"seq":775,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/packages/features/MainLayoutAppDir.tsx","line":6,"offset":20,"includeExternalModuleExports":false,"triggerKind":1}}
{"seq":776,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/packages/features/MainLayoutAppDir.tsx","line":6,"offset":20,"entryNames":["Shell"]}}
{"seq":777,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/packages/lib/checkRateLimitAndThrowError.test.ts"],"openFiles":[]}}
{"seq":778,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/packages/core/location.ts","projectRootPath":"@PROJECT_ROOT@"}]}}
Repro steps#!/bin/bash
git clone https://github.com/calcom/cal.com --recurse-submodules
git -C "./cal.com" reset --hard 70b4e3a9c68ca29281518c427f28733c5b4aec44
yarn --cwd "./cal.com" install --no-immutable --mode=skip-build
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/162228/artifacts?artifactName=RepoResults7&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults7.zip "$downloadUrl"
unzip -p RepoResults7.zip RepoResults7/calcom.cal.com.replay.txt > calcom.cal.com.replay.txt
npm install --no-save @typescript/server-replay To run the repro: # `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./cal.com ./calcom.cal.com.replay.txt <PATH_TO_tsserver.js> |
@gabritto Here are some more interesting changes from running the top 200 repos suite DetailsServer exited prematurely with code unknown and signal SIGABRT
Affected reposelastic/kibanaRaw error text:RepoResults14/elastic.kibana.rawError.txt in the artifact folder Replay commands: RepoResults14/elastic.kibana.replay.txt in the artifact folder
Last few requests{"seq":143,"type":"request","command":"getOutliningSpans","arguments":{"file":"@PROJECT_ROOT@/x-pack/performance/synthtrace_data/apm_data.ts"}}
{"seq":144,"type":"request","command":"navtree","arguments":{"file":"@PROJECT_ROOT@/x-pack/performance/synthtrace_data/apm_data.ts"}}
{"seq":145,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/packages/kbn-calculate-width-from-char-count/jest.config.js"],"openFiles":[]}}
{"seq":146,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/x-pack/plugins/timelines/jest.config.js","projectRootPath":"@PROJECT_ROOT@"}]}}
Repro steps#!/bin/bash
git clone https://github.com/elastic/kibana --recurse-submodules
git -C "./kibana" reset --hard ad7156827362de38e86218688adb6cac3c68ade0
# Install packages (exact steps are below, but it might be easier to follow the repo readme)
yarn --cwd "./kibana" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test_serverless/functional/test_suites/security/cypress" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test_serverless/functional/test_suites/observability/cypress" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/task_manager_claimer_mget/plugins/sample_task_plugin_mget" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/security_solution_cypress" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/security_solution_api_integration" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/security_api_integration/packages/helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/plugin_api_perf/plugins/task_manager_performance" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/plugin_api_integration/plugins/sample_task_plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/plugin_api_integration/plugins/event_log" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/plugin_api_integration/plugins/elasticsearch_client" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/functional_with_es_ssl/plugins/cases" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/functional_with_es_ssl/plugins/alerts" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/functional_execution_context/plugins/alerts" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/functional_embedded/plugins/iframe_embedded" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/functional_cors/plugins/kibana_cors_test" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/cases_api_integration/common/plugins/security_solution" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/cases_api_integration/common/plugins/observability" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/cases_api_integration/common/plugins/cases" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/alerting_api_integration/packages/helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/alerting_api_integration/common/plugins/alerts_restricted" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/alerting_api_integration/common/plugins/alerts" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/alerting_api_integration/common/plugins/actions_simulators" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/test/alerting_api_integration/common/plugins/aad" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/threat_intelligence" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/session_view" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/serverless_search" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/serverless_observability" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/serverless" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/security_solution_serverless" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/security_solution_ess" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/security_solution" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/search_notebooks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/search_connectors" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/osquery" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/observability_solution/apm/scripts" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/ml" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/kubernetes_security" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/fleet" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/elastic_assistant" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/plugins/cases" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/upselling" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/storybook/config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/side_nav" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/navigation" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/features" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/ecs_data_quality_dashboard" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security-solution/data_table" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security/plugin_types_server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security/plugin_types_public" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/security/plugin_types_common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/observability/get_padded_alert_time_range_util" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/observability/alerting_test_data" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/observability/alert_details" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/url_state" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/ui_actions" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/trained_models_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/time_buckets" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/string_hash" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/runtime_field_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/route_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/response_stream" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/random_sampler_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/query_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/number_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/nested_property" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/local_storage" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/kibana_theme" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/is_populated_object" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/is_defined" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/inference_integration_flyout" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/in_memory_table" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/error_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/date_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/date_picker" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/data_view_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/data_grid" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/data_frame_analytics_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/creation_wizard_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/chi2test" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/category_validator" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/cancellable_search" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/anomaly_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/aiops_test_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/aiops_log_rate_analysis" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/aiops_log_pattern_analysis" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/aiops_components" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/aiops_common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/aiops_change_point_detection" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/ml/agg_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/maps/vector_tile_utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-slo-schema" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-random-sampling" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-langchain" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-infra-forge" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-entities-schema" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-elastic-assistant-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-elastic-assistant" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-data-forge" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-alerting-state-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/kbn-alerting-comparators" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/x-pack/packages/index-management" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/server_integration/plugins/status_plugin_b" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/server_integration/plugins/status_plugin_a" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/usage_collection" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/ui_settings_plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/telemetry" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/session_notifications" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/saved_objects_hidden_type" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/saved_objects_hidden_from_http_apis_type" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/saved_object_import_warnings" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/saved_object_export_transforms" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/rendering_plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/management_test_plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/kbn_tp_custom_visualizations" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/kbn_top_nav" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/kbn_sample_panel_action" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/index_patterns" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/elasticsearch_client_plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/data_search" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_provider_plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_static_assets" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_route_timeouts" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_helpmenu" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_execution_context" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_deprecations" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_deep_links" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_chromeless" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_b" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_appleave" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_plugin_a" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_http" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_history_block" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_dynamic_resolving_b" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_dynamic_resolving_a" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/core_app_status" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/plugin_functional/plugins/app_link_test" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/node_roles_functional/plugins/core_plugin_initializer_context" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/interpreter_functional/plugins/kbn_tp_run_pipeline" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/health_gateway/plugins/status" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/analytics/plugins/analytics_plugin_a" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/test/analytics/plugins/analytics_ftr_helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/src/plugins/text_based_languages" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/src/plugins/esql_datagrid" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/src/plugins/chart_expressions/common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/storybook/mock" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/storybook/config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/router/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/router/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/router/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/prompt/not_found" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/prompt/no_data_views/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/prompt/no_data_views/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/prompt/no_data_views/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/solution_nav" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/no_data_config/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/no_data_config/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/no_data_config/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/no_data/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/no_data/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/no_data/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/kibana_template/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/kibana_template/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/kibana_template/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/kibana_no_data/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/kibana_no_data/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/kibana_no_data/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/analytics_no_data/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/analytics_no_data/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/page/analytics_no_data/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/modal/tabbed" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/markdown/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/markdown/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/markdown/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/link/redirect_app/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/link/redirect_app/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/link/redirect_app/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/util" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/image/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/image/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/file_upload/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/file_picker/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/file/context" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/error_boundary" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/code_editor/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/code_editor/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/chrome/navigation" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/card/no_data/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/card/no_data/mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/card/no_data/impl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/button_toolbar" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/button/exit_full_screen" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/shared-ux/avatar/solution" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/storybook/config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/settings/security_project" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/settings/search_project" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/settings/observability_project" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/settings/common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/serverless/project_switcher" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/response-ops/feature_flag_service" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/react/kibana_mount" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/react/kibana_context/theme" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/react/kibana_context/styled" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/react/kibana_context/root" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/react/kibana_context/render" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/react/kibana_context/common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/presentation/presentation_publishing" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/presentation/presentation_containers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-zod-helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-yarn-lock-validator" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-xstate-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-whereis-pkg-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-web-worker-stub" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-visualization-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-visualization-ui-components" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-validate-next-docs-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-utility-types-jest" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-utility-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-utility-types/src/tsd_tests" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-user-profile-components" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-use-tracked-promise" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-unsaved-changes-prompt" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-unsaved-changes-badge" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-unified-field-list" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-unified-doc-viewer" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-unified-data-table" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ui-theme" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ui-shared-deps-src" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ui-shared-deps-npm" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ui-actions-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-typed-react-router-config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ts-type-check-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ts-projects" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-try-in-console" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-triggers-actions-ui-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-tooling-log" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-tinymath" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-timerange" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-timelion-grammar" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-text-based-editor" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-test-subj-selector" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-test-jest-helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-test-eui-helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-test" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-telemetry-tools" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-storybook" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-storybook/preset" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-stdio-dev-helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-std" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-spec-to-console" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-sort-predicates" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-sort-package-json" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-some-dev-log" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-shared-ux-utility" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-shared-svg" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-set-map" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-server-route-repository" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-server-http-tools" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-t-grid" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-rules" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-list-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-list-hooks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-list-constants" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-list-api" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-io-ts-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-io-ts-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-io-ts-list-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-io-ts-alerting-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-hook-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-exception-list-components" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-es-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-ecs" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-securitysolution-autocomplete" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-security-hardening" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-search-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-search-response-warnings" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-search-index-documents" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-search-errors" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-search-connectors" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-search-api-panels" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-saved-objects-settings" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-safer-lodash-set" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-rule-data-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-rrule" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-router-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-router-to-openapispec" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-rison" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-resizable-layout" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/public" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/mocks_server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/get_csv_panel_actions" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/export_types/png_common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/export_types/png" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/export_types/pdf_common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/export_types/pdf" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/export_types/csv_common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/export_types/csv" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-reporting/common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-source-classifier-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-source-classifier" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-path" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-packages" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-linter" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-info" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-repo-file-maps" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-react-hooks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-react-field" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-profiling-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-plugin-helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-plugin-generator" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-plugin-check" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-picomatcher" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-performance-testing-dataset-extractor" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-peggy-loader" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-peggy" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-panel-loader" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-osquery-io-ts-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-optimizer-webpack-helpers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-optimizer" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-openapi-generator" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-openapi-bundler" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-object-versioning" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-monaco" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-mock-idp-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-mock-idp-plugin" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-mapbox-gl" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/storybook/config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/utilities" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/setting_ids" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/section_registry" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/field_definition" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/components/form" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/components/field_row" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/components/field_input" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/components/field_category" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/settings/application" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-management/cards_navigation" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-managed-vscode-config-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-managed-vscode-config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-managed-content-badge" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-logging-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-logging" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-lint-ts-projects-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-lint-packages-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-lens-formula-docs" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-lens-embeddable-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-language-documentation-popover" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-kibana-manifest-schema" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-json-ast" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-journeys" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-jest-serializers" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ipynb" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-io-ts-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-interpreter" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-import-resolver" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-import-locator" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-i18n-react" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-i18n" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-health-gateway-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-hapi-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-handlebars" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-guided-onboarding" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-grouping" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-get-repo-files" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-generate-csv" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-generate-console-definitions" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-generate" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ftr-screenshot-filename" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ftr-common-functional-ui-services" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ftr-common-functional-services" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-formatters" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-flot-charts" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-find-used-node-modules" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-field-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-field-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-failed-test-reporter-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-expect" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-expandable-flyout" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-event-annotation-components" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-event-annotation-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-esql-validation-autocomplete" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-esql-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-esql-ast" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-eslint-plugin-telemetry" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-eslint-plugin-imports" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-eslint-plugin-i18n" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-eslint-plugin-eslint" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-eslint-plugin-disable" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-eslint-config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-es-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-es-query" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-es-errors" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-es-archiver" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-es" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-elastic-agent-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ebt-tools" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-dom-drag-drop" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-docs-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-doc-links" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-discover-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-dev-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-dev-proc-runner" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-dev-cli-runner" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-dev-cli-errors" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-datemath" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-data-view-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-data-stream-adapter" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-data-service" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-cypress-config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-custom-integrations" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-custom-icons" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-crypto-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-crypto" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-content-management-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-config-schema" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-config-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-coloring" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-code-owners" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-cli-dev-mode" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ci-stats-shipper-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ci-stats-reporter" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ci-stats-performance-metrics" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ci-stats-core" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-check-mappings-update-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-chart-icons" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-cell-actions" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-cases-components" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-capture-oas-snapshot-cli" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-calculate-width-from-char-count" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-calculate-auto" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-bfetch-error" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-bazel-runner" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-babel-transform" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-babel-register" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-babel-preset" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-axe-config" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-apm-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-apm-synthtrace-client" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-apm-synthtrace" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-apm-data-view" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-apm-config-loader" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-analytics" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ambient-ui-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ambient-storybook-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ambient-ftr-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ambient-common-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-alerts-ui-shared" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-alerts-as-data-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-alerting-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-actions-types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/kbn-ace" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/home/sample_data_types" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/home/sample_data_tab" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/home/sample_data_card" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/default-nav/ml" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/default-nav/management" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/default-nav/devtools" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/default-nav/analytics" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/shared" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/security" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/search" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/observability" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/ml" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/management" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/fleet" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/devtools" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/deeplinks/analytics" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-settings/core-user-settings-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-settings/core-user-settings-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-settings/core-user-settings-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/user-profile/core-user-profile-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/usage-data/core-usage-data-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/usage-data/core-usage-data-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/usage-data/core-usage-data-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/usage-data/core-usage-data-base-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/ui-settings/core-ui-settings-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/theme/core-theme-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/theme/core-theme-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/theme/core-theme-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/test-helpers/core-test-helpers-test-utils" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/test-helpers/core-test-helpers-so-type-serializer" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/test-helpers/core-test-helpers-model-versions" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/test-helpers/core-test-helpers-kbn-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/test-helpers/core-test-helpers-http-setup-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/test-helpers/core-test-helpers-deprecations-getters" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/status/core-status-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/status/core-status-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/status/core-status-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/status/core-status-common-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/status/core-status-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/security/core-security-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-utils-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-migration-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-migration-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-import-export-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-import-export-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-common" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-base-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-base-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-api-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-api-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-api-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/saved-objects/core-saved-objects-api-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/root/core-root-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/root/core-root-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/rendering/core-rendering-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/rendering/core-rendering-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/rendering/core-rendering-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/rendering/core-rendering-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/preboot/core-preboot-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/preboot/core-preboot-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/preboot/core-preboot-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-contracts-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-contracts-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/plugins/core-plugins-base-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/overlays/core-overlays-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/overlays/core-overlays-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/overlays/core-overlays-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/notifications/core-notifications-browser-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/notifications/core-notifications-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/notifications/core-notifications-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/node/core-node-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/node/core-node-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/node/core-node-server" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/mount-utils/core-mount-utils-browser-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/mount-utils/core-mount-utils-browser" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/metrics/core-metrics-server-mocks" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/metrics/core-metrics-server-internal" install --ignore-engines --ignore-scripts --silent
yarn --cwd "./kibana/packages/core/metrics/core-metrics-server" install --ignore-engines --ignore-scripts --sil
:error: Truncated - see log for full output :error:
</details> |
Fixes #57393.
Counterpart in vscode: microsoft/vscode#208713.
Existing behavior
Currently, the way vscode and tsserver communicate about diagnostics works like this:
geterr
request to tsserver with a list of file names, corresponding to the typescript files open in editor, for which diagnostics should be computed.geterr
request, and immediately sends back a response that is basically an "ack" and doesn't contain diagnostics.Idea
Computing semantic diagnostics, in particular checker diagnostics, for the whole file can be slow, especially for large files like
checker.ts
. So the idea here is that, before we type check the entire file, we can type check just the parts of the file that are visible, send those requests to the editor so that they are updated, and then proceed to type check the entire file.Feature
The change I've implemented alters the diagnostics dynamic between vscode and tsserver in the following way:
geterr
request to tsserver with a list whose elements are either a file name or a file name and ranges. The file names correspond to the typescript files open in editor, and if the ranges are specified, they correspond to the parts of the file that are visible in the editor.geterr
request, and immediately sends back a response.Region semantic diagnostics
A region semantic check is similar to a normal semantic check, but instead of type checking the whole file, we type check only the nodes that are roughly in the ranges specified by the
geterr
request.So some semantic checks remain the same. Binder diagnostics are computed for the whole file, and program diagnostics like resolution errors are also done as normal. The big difference is in
checker.ts
, where instead of callingcheckSourceFileWorker
to check the whole file, we now callcheckSourceFileNodesWorker
, which doesSome types of diagnostics are explicitly not computed in this region semantic check, because they require the whole file to be checked to produce accurate diagnostics. For instance, we don't check for unused identifiers, and declaration diagnostics are also not computed.
Note: according to Wesley, "the only reason some whole file export/duplicate checks require whole-file checking is because they rely on some traversal-collected data that... we could probably move up into the binder in the future with some work".
Editor UX
On the editor side, what happens is that as the editor receives back the different kinds of diagnostics, it updates the diagnostics that are displayed. So, as vscode receives the syntax diagnostics, it replaces the previous syntax diagnostics with the new ones, and so on. So vscode will receive the region semantic diagnostics, and replace the previous semantic diagnostics, but only for the ranges that the region semantic diagnostics were computed. Then, later, vscode receives the normal semantic diagnostics, and replaces the previous semantic diagnostics (all of them) with the new ones.
Because of that updating behavior, a first goal is for the region diagnostics to be a subset of the normal semantic diagnostics.
So even though the region diagnostics may not contain all of the semantic diagnostics for a specific range of a file, it should not contain a spurious diagnostic, because that would cause an annoying user experience, where an error shows up and then goes away.
The normal semantic diagnostics that are computed after the region semantic diagnostics are supposed to be the source of truth for semantic diagnostics for a given file. So a second goal is that there shouldn't be any difference between the semantic diagnostics we eventually compute for a whole file when we compute region semantic diagnostics vs when we don't compute semantic diagnostics. In other words, using this feature shouldn't change the diagnostics a user sees in the editor.
Test results
To test this feature, I did a randomized test on the top 200 repos that consisted of opening a file, deleting a non-whitespace character, requesting diagnostics without providing a range, adding back the character, requesting diagnostics without providing a range. Then repeat this, but this time providing a range when requesting diagnostics. The first iteration is the baseline, i.e. the current behavior of
geterr
, and the second is thegeterr
behavior using this feature.Performance
Total files tested: 1725
Average time:
If we take the average for the 150 files whose baseline semantic check took at least 500 ms, the results are:
Test on
checker.ts
I did the same random testing as above but on our
checker.ts
(the largest file we have). Results:Diagnostic inconsistencies
The diagnostics generated by the checker depend on the order in which nodes are checked, and the state of the checker (e.g. type comparison caches). Because of that, using region semantic diagnostics may cause the checker to generate different diagnostics than it would if it didn't use it.
During testing, I found the following inconsistencies:
Different diagnostic position
Some diagnostics have as position the node where we first do something. For instance, error ts2307:
Error 2307 will show up on the first JSX element the checker tries to check. When using region checks, the first JSX element we check for the file may be a different one.
Error 2354, "This syntax requires an imported helper but module 'tslib' cannot be found.", also behaves the same way: its position is the first
async
function we check.In some cases, it's even possible for those diagnostics to occur in a different file altogether, because we might go off and check things in a different file while checking the file we actually want diagnostics for.
These diagnostics moving around inside the file is, I think, acceptable for now: either the diagnostic is going to be moved to a position that is in the region we're checking, and therefore in the visible parts of the file, or it will move around to a "random" position in the file, like you already get today.
Moving to a different file altogether is a worse problem. But, again, this can already happen today in the editor...
Different elaboration
When we compare two types, we cache the result of the comparison so that in the future we can skip work and just use the cached result. That means the first time we compare two types, we do detailed comparisons (e.g. we compare each property, each component type in a union, etc). While we're doing this detailed comparison, we produce elaboration for the diagnostic that indicates two types are not comparable/assignable/etc, so that we provide a more detailed error message saying why that type comparison failed.
The next time we compare those same two types, we don't do this detailed work, and instead produce a diagnostic with less information.
This can happen in two ways:
(1) The less detailed diagnostic has a different error code from the more detailed one
(2) The less detailed diagnostic has the same error code as the more detailed one, but less elaboration in its message.
This is also reported in #3276, #33143.
Examples:
(1) Different error code
(2) Different elaboration
If you change the order of the last two statements (or, alternatively, if you first type check the last statement, and then type check
fun(otherWrap)
), you get instead:Playground link
This difference already exists today, so also seems like it's acceptable for now.
Note: The thing to be extra careful about is diagnostic duplication. Because the diagnostics can be different, if we check a node in the region check and then re-check it during the whole-file check, we might produce two different diagnostics for it, and then we don't de-duplicate those because we think they are different diagnostics (due to having a different error code or different error message).Fixed, see #58207.Different suggestion
We have a hardcoded limit (at most 12) on how many times we provide "Did you mean ... ?" suggestions for "Cannot find ..." errors. This seems to be because of performance reasons: it's costly to try and find suggestions.
The result is that, depending on where you start checking your file, some of those "Cannot find ..." errors may or may not have suggestions.
I think this is an acceptable difference in diagnostics.