From bd13173f45ea2c8f7c48452cdbe564173a3bded9 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 23 Jun 2020 16:36:32 +0100 Subject: [PATCH 01/37] chore(NA): upgrade oss to lodash4 chore(NA): migrate cli, cli_plugin, cli_keystore, dev, test_utils and apm src script to lodash4 chore(NA): missing file for cli plugin chore(NA): add src core chore(NA): es archiver and fixtures chore(NA): try to fix functional test failure chore(NA): migrate src/legacy entirely to lodash4 except src/legacy/core_plugins chore(NA): move legacy core plugins to lodash4 chore(NA): upgrade optimize to lodash4 chore(NA): upgrade to lodash4 on advanced_settings, charts, console and dashboard chore(NA): migrate to lodash4 on dev_tools, discover, embeddable, es_ui)shared, expressions, home plugins chore(NA): upgrade data plugin to lodash4 chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4 chore(NA): missing data upgrades to lodash4 Revert "chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4" This reverts commit 137055c5fed2fc52bb26547e0bc1ad2e3d4fe309. Revert "Revert "chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4"" This reverts commit f7e73688782998513d9fb6d7e8f0765e9beb28d1. Revert "chore(NA): missing data upgrades to lodash4" This reverts commit 92b85bf947a89bfc70cc4052738a6b2128ffb076. Revert "chore(NA): upgrade data plugin to lodash4" This reverts commit 88fdb075ee1e26c4ac979b6681d8a2b002df74c6. chore(NA): upgrade idx_pattern_mgt, input_control_vis, inspector, kbn_legacy, kbn_react, kbn_usage_collections, kbn_utils, management and maps_legacy to lodash4 chore(NA): map src plugin data to lodash3 chore(NA): missing lodash.clonedeep dep chore(NA): change packages kbn-config-schema deps chore(NA): update renovate config chore(NA): upgrade vis_type plugins to lodash4 chore(NA): move vis_type_vislib to lodash3 chore(NA): update visualizations and visualize to lodash4 chore(NA): remove lodash 3 types from src and move test to lodash4 chore(NA): move home, usage_collection and management to lodash 3 Revert "chore(NA): move home, usage_collection and management to lodash 3" This reverts commit f86e8585f02d21550746569af54215b076a79a3d. chore(NA): move kibana_legacy, saved_objects saved_objects_management into lodash3 chore(NA): update x-pack test to mock lodash4 Revert "chore(NA): move kibana_legacy, saved_objects saved_objects_management into lodash3" This reverts commit 2d10fe450533e1b36db21d99cfae3ce996a244e0. --- package.json | 4 + packages/kbn-config-schema/package.json | 1 + .../kbn-config-schema/src/internals/index.ts | 2 +- renovate.json5 | 16 +++ src/apm.js | 2 +- src/cli/cli.js | 2 +- src/cli/cluster/cluster.mock.ts | 2 +- src/cli/cluster/cluster_manager.test.ts | 4 +- src/cli/cluster/worker.ts | 4 +- src/cli/command.js | 2 +- src/cli/help.js | 4 +- src/cli/serve/read_keystore.js | 2 +- src/cli/serve/serve.js | 2 +- src/cli_keystore/cli_keystore.js | 2 +- src/cli_plugin/cli.js | 2 +- src/cli_plugin/install/rename.js | 2 +- src/cli_plugin/install/zip.js | 2 +- .../chrome/doc_title/doc_title_service.ts | 2 +- .../nav_controls/nav_controls_service.ts | 2 +- .../chrome/nav_links/nav_links_service.ts | 2 +- .../chrome/recently_accessed/persisted_log.ts | 2 +- .../chrome/ui/header/collapsible_nav.tsx | 2 +- src/core/public/http/fetch.ts | 4 +- .../injected_metadata_service.ts | 2 +- .../public/overlays/banners/priority_map.ts | 2 +- src/core/public/plugins/plugin_context.ts | 2 +- .../public/plugins/plugins_service.test.ts | 12 +- .../saved_objects/saved_objects_client.ts | 6 +- .../saved_objects/simple_saved_object.ts | 4 +- .../public/ui_settings/ui_settings_client.ts | 2 +- .../server/capabilities/merge_capabilities.ts | 4 +- .../capabilities/resolve_capabilities.ts | 2 +- src/core/server/config/config_service.ts | 2 +- .../config/deprecation/apply_deprecations.ts | 2 +- .../config/deprecation/core_deprecations.ts | 4 +- .../config/deprecation/deprecation_factory.ts | 2 +- .../server/config/object_to_config_adapter.ts | 2 +- src/core/server/config/raw_config_service.ts | 2 +- src/core/server/config/read_config.ts | 2 +- .../elasticsearch/cluster_client.test.ts | 2 +- .../server/elasticsearch/cluster_client.ts | 2 +- .../elasticsearch_client_config.ts | 2 +- src/core/server/elasticsearch/errors.ts | 4 +- .../elasticsearch/scoped_cluster_client.ts | 2 +- .../server/http/base_path_proxy_server.ts | 4 +- src/core/server/http/http_server.mocks.ts | 2 +- src/core/server/http/http_service.test.ts | 2 +- ...gacy_object_to_config_adapter.test.ts.snap | 5 +- .../legacy/config/get_unused_config_keys.ts | 2 +- .../logging/layouts/conversions/date.ts | 2 +- .../discovery/plugin_manifest_parser.ts | 2 +- .../mappings/lib/get_property.ts | 2 +- .../migrations/core/build_active_mappings.ts | 2 +- .../migrations/core/document_migrator.test.ts | 2 +- .../migrations/core/document_migrator.ts | 6 +- .../migrations/core/elastic_index.test.ts | 2 +- .../migrations/core/elastic_index.ts | 2 +- .../migrations/core/index_migrator.test.ts | 2 +- .../migrations/core/migrate_raw_docs.test.ts | 2 +- .../core/migration_coordinator.test.ts | 1 - .../migrations/core/migration_coordinator.ts | 2 +- .../serialization/serializer.test.ts | 2 +- .../service/lib/decorate_es_error.ts | 2 +- .../saved_objects/service/lib/filter_utils.ts | 2 +- .../saved_objects/service/lib/repository.ts | 4 +- .../create_or_upgrade_saved_config.ts | 2 +- .../server/ui_settings/ui_settings_client.ts | 2 +- src/core/utils/context.ts | 2 +- src/core/utils/merge.ts | 2 +- .../installed_packages.test.ts | 2 +- src/dev/precommit_hook/casing_check_config.js | 1 - src/dev/sass/build_sass.js | 2 +- src/es_archiver/lib/__tests__/stats.ts | 2 +- src/es_archiver/lib/docs/__tests__/stubs.ts | 2 +- .../lib/indices/create_index_stream.ts | 2 +- src/es_archiver/lib/indices/delete_index.ts | 2 +- src/es_archiver/lib/stats.ts | 2 +- src/fixtures/agg_resp/geohash_grid.js | 4 +- src/fixtures/mock_state.js | 2 +- src/fixtures/mock_ui_state.js | 2 +- src/legacy/core_plugins/apm_oss/index.js | 2 +- .../core_plugins/console_legacy/index.ts | 4 +- .../server/lib/handle_es_error.js | 4 +- .../public/__tests__/discover/doc_table.js | 2 +- .../public/__tests__/discover/row_headers.js | 2 +- .../__tests__/vis_type_table/agg_table.js | 2 +- .../__tests__/vis_type_tagcloud/tag_cloud.js | 2 +- .../__tests__/vis_type_vislib/_vis_fixture.js | 2 +- .../vis_type_vislib/lib/chart_title.js | 2 +- .../__tests__/vis_type_vislib/lib/dispatch.js | 4 +- .../public/__tests__/vis_type_vislib/vis.js | 2 +- .../visualizations/area_chart.js | 2 +- .../visualizations/column_chart.js | 6 +- .../visualizations/gauge_chart.js | 2 +- .../visualizations/heatmap_chart.js | 2 +- .../visualizations/line_chart.js | 2 +- .../visualizations/pie_chart.js | 2 +- .../server/lib/export/export_dashboards.js | 2 +- .../server/lib/import/import_dashboards.js | 2 +- .../management/saved_objects/relationships.js | 2 +- .../status_page/public/lib/load_status.js | 2 +- .../tests_bundle/find_source_files.js | 2 +- .../core_plugins/timelion/public/app.js | 4 +- .../timelion/public/directives/cells/cells.js | 2 +- .../public/directives/saved_object_finder.js | 4 +- .../directives/timelion_expression_input.js | 4 +- .../timelion_expression_input_helpers.js | 2 +- .../directives/timelion_help/timelion_help.js | 2 +- .../timelion_interval/timelion_interval.js | 4 +- .../public/panels/timechart/schema.ts | 4 +- .../public/shim/timelion_legacy_module.ts | 2 +- src/legacy/deprecation/create_transform.js | 2 +- src/legacy/deprecation/deprecations/rename.js | 2 +- src/legacy/deprecation/deprecations/unused.js | 2 +- src/legacy/deprecation/get_transform.js | 2 +- .../__tests__/find_plugin_specs.js | 2 +- .../plugin_config/settings.js | 2 +- .../plugin_spec/plugin_spec.js | 3 +- src/legacy/server/config/config.js | 2 +- src/legacy/server/config/config.test.js | 2 +- src/legacy/server/http/index.js | 2 +- .../i18n/localization/file_integrity.ts | 4 +- .../telemetry_localization_collector.ts | 2 +- src/legacy/server/kbn_server.js | 2 +- src/legacy/server/logging/configuration.js | 2 +- src/legacy/server/logging/log_format.js | 4 +- .../server/logging/log_format_string.js | 2 +- src/legacy/server/logging/log_interceptor.js | 2 +- .../server/logging/log_with_metadata.js | 2 +- .../server/logging/rotate/log_rotator.test.ts | 4 +- .../server/logging/rotate/log_rotator.ts | 2 +- src/legacy/server/pid/index.js | 2 +- .../server/plugins/lib/call_plugin_hook.js | 2 +- src/legacy/server/plugins/lib/plugin.js | 2 +- src/legacy/server/status/index.js | 2 +- .../server/status/lib/case_conversion.ts | 2 +- .../status/lib/get_kibana_info_for_stats.js | 2 +- src/legacy/server/status/lib/metrics.js | 2 +- src/legacy/server/status/lib/metrics.test.js | 2 +- src/legacy/server/status/samples.js | 2 +- src/legacy/server/status/server_status.js | 4 +- .../server/status/server_status.test.js | 2 +- src/legacy/server/status/states.js | 4 +- src/legacy/server/status/wrap_auth_config.js | 2 +- src/legacy/ui/public/__tests__/events.js | 2 +- src/legacy/ui/public/bound_to_config_obj.js | 2 +- .../ui/public/chrome/__mocks__/index.js | 2 +- .../ui/public/chrome/api/__tests__/angular.js | 2 +- src/legacy/ui/public/chrome/api/apps.js | 2 +- .../ui/public/chrome/api/injected_vars.ts | 2 +- src/legacy/ui/public/chrome/chrome.js | 2 +- src/legacy/ui/public/config/config.js | 2 +- src/legacy/ui/public/directives/kbn_href.js | 2 +- .../render_directive/apply_scope_bindings.js | 2 +- .../render_directive/render_directive.js | 2 +- .../watch_multi/__tests__/watch_multi.js | 2 +- src/legacy/ui/public/doc_title/doc_title.js | 2 +- .../documentation_links/get_doc_link.ts | 2 +- src/legacy/ui/public/events.js | 6 +- .../indexed_array/__tests__/indexed_array.js | 10 +- .../indexed_array/helpers/organize_by.test.ts | 2 +- .../indexed_array/helpers/organize_by.ts | 2 +- src/legacy/ui/public/indexed_array/index.d.ts | 2 +- .../ui/public/indexed_array/indexed_array.js | 4 +- src/legacy/ui/public/kfetch/kfetch.ts | 2 +- src/legacy/ui/public/modules.js | 2 +- .../ui/public/new_platform/set_services.ts | 2 +- src/legacy/ui/public/registry/_registry.js | 2 +- .../public/routes/__tests__/_route_manager.js | 4 +- .../ui/public/routes/__tests__/_work_queue.js | 2 +- .../routes/__tests__/_wrap_route_with_prep.js | 2 +- src/legacy/ui/public/routes/breadcrumbs.js | 2 +- src/legacy/ui/public/routes/route_manager.js | 2 +- .../ui/public/routes/route_setup_manager.js | 2 +- .../ui/public/routes/wrap_route_with_prep.js | 2 +- .../__tests__/state_monitor_factory.js | 2 +- .../ui/public/state_management/state.js | 4 +- .../state_management/state_monitor_factory.ts | 2 +- .../test_sharding/setup_test_sharding.js | 2 +- .../ui/public/timefilter/setup_router.ts | 2 +- src/legacy/ui/public/url/__tests__/url.js | 2 +- src/legacy/ui/public/url/prepend_path.ts | 2 +- src/legacy/ui/public/url/url.js | 2 +- src/legacy/ui/public/utils/collection.ts | 4 +- .../ui_export_types/webpack_customizations.js | 2 +- src/legacy/utils/deep_clone_with_buffers.ts | 4 +- src/legacy/utils/unset.js | 5 +- .../dynamic_dll_plugin/dll_compiler.js | 2 +- src/optimize/watch/proxy_role.js | 2 +- .../management_app/components/form/form.tsx | 2 +- .../management_app/lib/get_aria_name.ts | 2 +- .../public/services/colors/color_palette.ts | 2 +- .../charts/public/services/colors/colors.ts | 2 +- .../services/colors/mapped_colors.test.ts | 4 +- .../public/services/colors/mapped_colors.ts | 10 +- .../public/static/color_maps/heatmap_color.ts | 2 +- .../public/static/components/color_ranges.tsx | 2 +- .../application/components/settings_modal.tsx | 1 + .../console_history/console_history.tsx | 2 +- .../application/containers/editor/editor.tsx | 2 +- .../editor/legacy/console_editor/editor.tsx | 2 +- .../console_editor/keyboard_shortcuts.ts | 2 +- .../hooks/use_save_current_text_object.ts | 2 +- .../legacy_core_editor/create_readonly.ts | 2 +- .../models/legacy_core_editor/smart_resize.ts | 2 +- .../__tests__/integration.test.js | 4 +- .../__tests__/sense_editor.test.js | 2 +- .../models/sense_editor/sense_editor.ts | 2 +- .../__jest__/url_autocomplete.test.js | 2 +- .../autocomplete/__jest__/url_params.test.js | 2 +- .../public/lib/autocomplete/autocomplete.ts | 2 +- .../public/lib/autocomplete/body_completer.js | 4 +- .../components/accept_endpoint_component.js | 2 +- .../components/constant_component.js | 2 +- .../field_autocomplete_component.js | 2 +- .../components/id_autocomplete_component.js | 2 +- .../index_autocomplete_component.js | 2 +- .../autocomplete/components/list_component.js | 4 +- .../components/object_component.js | 2 +- .../components/shared_component.js | 2 +- .../components/type_autocomplete_component.js | 2 +- .../components/url_pattern_matcher.js | 111 ++++++++---------- .../username_autocomplete_component.js | 2 +- .../console/public/lib/autocomplete/engine.js | 20 ++-- .../public/lib/autocomplete/url_params.js | 22 ++-- .../__tests__/curl_parsing.test.js | 2 +- .../public/lib/kb/__tests__/kb.test.js | 2 +- src/plugins/console/public/lib/kb/api.js | 14 +-- src/plugins/console/public/lib/kb/kb.js | 2 +- .../console/public/lib/mappings/mappings.js | 6 +- src/plugins/console/public/lib/utils/index.ts | 2 +- .../console/public/services/storage.ts | 2 +- .../server/lib/elasticsearch_proxy_config.ts | 4 +- .../console/server/lib/proxy_config.ts | 2 +- .../server/lib/proxy_config_collection.ts | 2 +- src/plugins/console/server/lib/set_headers.ts | 2 +- .../lib/spec_definitions/js/mappings.ts | 2 +- .../lib/spec_definitions/js/query/dsl.ts | 2 +- .../api/console/proxy/create_handler.ts | 4 +- .../services/spec_definitions_service.ts | 9 +- .../actions/clone_panel_action.tsx | 1 + .../actions/replace_panel_flyout.tsx | 1 + .../application/dashboard_app_controller.tsx | 6 +- .../application/dashboard_state_manager.ts | 2 +- .../embeddable/grid/dashboard_grid.tsx | 2 +- .../embeddable/panel/create_panel_state.ts | 1 - .../panel/dashboard_panel_placement.ts | 1 + .../lib/embeddable_saved_object_converters.ts | 2 +- .../public/application/lib/filter_utils.ts | 2 +- .../application/lib/update_saved_dashboard.ts | 4 +- .../listing/dashboard_listing.test.js | 4 +- .../saved_objects/dashboard_migrations.ts | 8 +- .../saved_objects/migrate_match_all_query.ts | 4 +- .../es_query/es_query/build_es_query.ts | 2 +- .../es_query/es_query/decorate_query.ts | 2 +- .../common/es_query/es_query/es_query_dsl.ts | 2 +- .../common/es_query/es_query/from_filters.ts | 2 +- .../es_query/get_es_query_config.test.ts | 2 +- .../es_query/es_query/lucene_string_to_dsl.ts | 2 +- .../es_query/es_query/migrate_filter.test.ts | 2 +- .../es_query/es_query/migrate_filter.ts | 2 +- .../es_query/filters/get_display_value.ts | 2 +- .../data/common/es_query/filters/index.ts | 2 +- .../common/es_query/filters/phrase_filter.ts | 2 +- .../es_query/filters/range_filter.test.ts | 2 +- .../common/es_query/filters/range_filter.ts | 2 +- .../common/es_query/kuery/functions/exists.ts | 2 +- .../kuery/functions/geo_bounding_box.test.ts | 2 +- .../kuery/functions/geo_bounding_box.ts | 2 +- .../common/es_query/kuery/functions/is.ts | 2 +- .../es_query/kuery/functions/range.test.ts | 2 +- .../common/es_query/kuery/functions/range.ts | 2 +- .../es_query/kuery/kuery_syntax_error.ts | 2 +- .../es_query/kuery/node_types/function.ts | 2 +- .../es_query/kuery/node_types/named_arg.ts | 2 +- .../content_types/html_content_type.ts | 2 +- .../content_types/text_content_type.ts | 2 +- .../common/field_formats/converters/color.ts | 2 +- .../field_formats/converters/date_nanos.ts | 2 +- .../common/field_formats/converters/source.ts | 2 +- .../field_formats/converters/truncate.ts | 2 +- .../common/field_formats/converters/url.ts | 2 +- .../common/field_formats/field_format.test.ts | 2 +- .../data/common/field_formats/field_format.ts | 2 +- .../field_formats/field_formats_registry.ts | 2 +- .../utils/highlight/highlight_html.ts | 2 +- .../common/field_mapping/mapping_setup.ts | 2 +- .../index_patterns/fields/field_list.ts | 2 +- .../index_patterns/fields/obj_define.js | 2 +- .../ensure_default_index_pattern.ts | 2 +- .../index_patterns/flatten_hit.ts | 2 +- .../index_patterns/format_hit.ts | 2 +- .../index_patterns/index_pattern.test.ts | 2 +- .../index_patterns/index_pattern.ts | 2 +- .../lib/get_from_saved_object.ts | 2 +- .../data/common/index_patterns/utils.ts | 2 +- .../query/filter_manager/compare_filters.ts | 2 +- .../query/filter_manager/dedup_filters.ts | 2 +- .../query/filter_manager/uniq_filters.ts | 2 +- .../date_interval_utils/parse_interval.ts | 2 +- .../create_filters_from_range_select.ts | 2 +- .../providers/value_suggestion_provider.ts | 2 +- .../public/field_formats/converters/date.ts | 2 +- .../public/field_formats/utils/deserialize.ts | 2 +- .../filter_manager/filter_manager.test.ts | 2 +- .../query/filter_manager/filter_manager.ts | 2 +- .../filter_manager/lib/generate_filters.ts | 2 +- .../lib/map_and_flatten_filters.ts | 2 +- .../query/filter_manager/lib/map_filter.ts | 2 +- .../filter_manager/lib/mappers/map_default.ts | 2 +- .../filter_manager/lib/mappers/map_exists.ts | 2 +- .../filter_manager/lib/mappers/map_phrase.ts | 2 +- .../filter_manager/lib/mappers/map_range.ts | 2 +- .../query/filter_manager/lib/only_disabled.ts | 2 +- .../data/public/query/lib/from_user.ts | 2 +- .../query/persisted_log/persisted_log.ts | 2 +- .../state_sync/connect_to_query_state.ts | 2 +- .../timefilter/lib/change_time_filter.ts | 2 +- .../timefilter/lib/diff_time_picker_vals.ts | 2 +- .../timefilter/lib/extract_time_filter.ts | 2 +- .../public/query/timefilter/timefilter.ts | 2 +- .../public/search/aggs/agg_config.test.ts | 2 +- .../data/public/search/aggs/agg_config.ts | 2 +- .../public/search/aggs/agg_configs.test.ts | 2 +- .../data/public/search/aggs/agg_configs.ts | 2 +- .../data/public/search/aggs/agg_type.ts | 2 +- .../buckets/_terms_other_bucket_helper.ts | 2 +- .../aggs/buckets/create_filter/filters.ts | 2 +- .../search/aggs/buckets/date_histogram.ts | 2 +- .../public/search/aggs/buckets/date_range.ts | 2 +- .../public/search/aggs/buckets/filters.ts | 2 +- .../public/search/aggs/buckets/geo_tile.ts | 2 +- .../public/search/aggs/buckets/histogram.ts | 2 +- .../public/search/aggs/buckets/ip_range.ts | 2 +- .../buckets/lib/time_buckets/time_buckets.ts | 2 +- .../buckets/migrate_include_exclude_format.ts | 2 +- .../data/public/search/aggs/buckets/terms.ts | 2 +- .../public/search/aggs/metrics/bucket_avg.ts | 2 +- .../lib/get_response_agg_config_class.ts | 2 +- .../aggs/metrics/lib/make_nested_label.ts | 2 +- .../aggs/metrics/lib/ordinal_suffix.test.ts | 2 +- .../metrics/lib/parent_pipeline_agg_helper.ts | 2 +- .../lib/sibling_pipeline_agg_helper.ts | 2 +- .../aggs/metrics/percentiles_get_value.ts | 2 +- .../search/aggs/metrics/std_deviation.ts | 2 +- .../search/aggs/metrics/top_hit.test.ts | 2 +- .../public/search/aggs/metrics/top_hit.ts | 2 +- .../public/search/aggs/param_types/json.ts | 2 +- .../aggs/test_helpers/function_wrapper.ts | 2 +- .../public/search/aggs/utils/prop_filter.ts | 2 +- .../build_tabular_inspector_data.ts | 2 +- .../data/public/search/expressions/esaggs.ts | 2 +- .../search/search_source/search_source.ts | 2 +- .../data/public/search/tabify/buckets.ts | 2 +- .../data/public/search/tabify/get_columns.ts | 2 +- .../public/search/tabify/response_writer.ts | 2 +- .../data/public/search/tabify/tabify.ts | 2 +- .../ui/filter_bar/filter_editor/index.tsx | 2 +- .../filter_editor/phrase_suggestor.tsx | 2 +- .../filter_editor/phrase_value_input.tsx | 2 +- .../filter_editor/phrases_values_input.tsx | 2 +- .../filter_editor/range_value_input.tsx | 2 +- .../filter_editor/value_input_type.tsx | 2 +- .../index_pattern_select.tsx | 2 +- .../fetch_index_patterns.ts | 2 +- .../query_string_input.test.mocks.ts | 6 +- .../query_string_input/query_string_input.tsx | 2 +- .../ui/saved_query_form/save_query_form.tsx | 2 +- .../saved_query_management_component.tsx | 2 +- .../data/public/ui/search_bar/search_bar.tsx | 4 +- .../ui/typeahead/suggestions_component.tsx | 2 +- .../autocomplete/value_suggestions_route.ts | 2 +- .../field_formats/converters/date_server.ts | 2 +- .../field_formats/field_formats_service.ts | 2 +- .../index_patterns/fetcher/lib/errors.ts | 2 +- .../field_capabilities.test.js | 2 +- .../field_capabilities/field_capabilities.ts | 2 +- .../field_caps_response.test.js | 2 +- .../field_capabilities/field_caps_response.ts | 2 +- .../lib/field_capabilities/overrides.ts | 2 +- .../fetcher/lib/resolve_time_pattern.test.js | 2 +- .../fetcher/lib/resolve_time_pattern.ts | 2 +- .../kql_telemetry/usage_collector/fetch.ts | 2 +- .../saved_objects/index_pattern_migrations.ts | 2 +- .../server/saved_objects/search_migrations.ts | 2 +- src/plugins/dev_tools/public/plugin.ts | 2 +- .../public/application/angular/context.js | 2 +- .../application/angular/context/api/anchor.js | 2 +- .../context/api/context.predecessors.test.js | 2 +- .../context/api/context.successors.test.js | 2 +- .../angular/context/query/actions.js | 4 +- .../context/query_parameters/actions.js | 2 +- .../public/application/angular/context_app.js | 2 +- .../application/angular/context_state.ts | 2 +- .../collapsible_sidebar.ts | 2 +- .../angular/directives/debounce/debounce.js | 2 +- .../angular/directives/fixed_scroll.js | 2 +- .../public/application/angular/discover.js | 2 +- .../application/angular/discover_state.ts | 2 +- .../angular/doc_table/components/table_row.ts | 2 +- .../angular/doc_table/lib/get_sort.ts | 2 +- .../application/angular/get_painless_error.ts | 2 +- .../angular/helpers/point_series.ts | 2 +- .../sidebar/discover_sidebar.test.tsx | 2 +- .../components/sidebar/discover_sidebar.tsx | 2 +- .../sidebar/lib/field_calculator.js | 2 +- .../sidebar/lib/field_calculator.test.ts | 4 +- .../lib/get_index_pattern_field_list.ts | 2 +- .../application/components/table/table.tsx | 2 +- .../embeddable/search_embeddable.ts | 2 +- .../discover/public/kibana_services.ts | 2 + .../public/lib/embeddables/embeddable.tsx | 2 +- .../components/cron_editor/cron_editor.js | 6 +- .../components/json_editor/json_editor.tsx | 2 +- .../lexer_rules/x_json_highlight_rules.ts | 2 +- .../json_xjson_translation_tools.test.ts | 2 +- .../forms/hook_form_lib/hooks/use_form.ts | 2 +- .../static/forms/hook_form_lib/lib/utils.ts | 2 +- .../expressions/common/execution/execution.ts | 2 +- .../specs/kibana_context.ts | 6 +- .../expression_functions/specs/tests/utils.ts | 2 +- .../expression_types/specs/datatable.ts | 4 +- .../specs/kibana_datatable.ts | 4 +- src/plugins/expressions/public/loader.ts | 3 +- .../components/sample_data_set_cards.js | 2 +- .../components/tutorial/tutorial.js | 2 +- .../components/tutorial_directory.js | 2 +- .../home/public/application/load_tutorials.js | 2 +- .../services/sample_data/routes/uninstall.ts | 2 +- .../sample_data/usage/collector_fetch.ts | 2 +- .../lib/get_indices.ts | 2 +- .../edit_index_pattern/edit_index_pattern.tsx | 2 +- .../lib/get_field_format.ts | 2 +- .../components/table/table.tsx | 2 +- .../edit_index_pattern/tabs/utils.ts | 4 +- .../components/field_editor/field_editor.tsx | 2 +- .../public/components/editor/field_select.tsx | 2 +- .../public/components/vis/list_control.tsx | 2 +- .../public/components/vis/range_control.tsx | 2 +- .../public/control/control.ts | 2 +- .../control/filter_manager/filter_manager.ts | 2 +- .../filter_manager/phrase_filter_manager.ts | 8 +- .../filter_manager/range_filter_manager.ts | 2 +- .../public/control/list_control_factory.ts | 2 +- .../public/control/range_control_factory.ts | 2 +- .../public/lineage/lineage_map.ts | 2 +- .../adapters/request/request_adapter.ts | 1 - .../public/views/data/lib/export_csv.ts | 4 +- .../public/angular/angular_config.tsx | 2 +- .../kibana_legacy/public/angular/promises.js | 2 +- .../public/angular/watch_multi.js | 2 +- .../public/angular_bootstrap/index.ts | 2 +- .../public/notify/lib/format_es_msg.ts | 2 +- .../public/notify/lib/format_msg.ts | 2 +- .../kibana_legacy/public/paginate/paginate.js | 2 +- .../public/utils/migrate_legacy_query.ts | 2 +- .../kibana_legacy/public/utils/private.js | 2 +- src/plugins/kibana_legacy/server/index.ts | 2 +- .../kibana_react/public/markdown/markdown.tsx | 2 +- .../table_list_view/table_list_view.tsx | 4 +- .../kibana/get_saved_object_counts.ts | 2 +- .../ops_stats/ops_stats_collector.ts | 2 +- .../common/url/encode_uri_query.ts | 4 +- .../public/field_wildcard/field_wildcard.ts | 2 +- .../public/resize_checker/resize_checker.ts | 2 +- .../utils/diff_object.test.ts | 2 +- .../state_management/utils/diff_object.ts | 2 +- .../hashed_item_store/hashed_item_store.ts | 2 +- .../management_sidebar_nav.tsx | 2 +- .../public/map/base_maps_visualization.js | 2 +- .../maps_legacy/public/map/decode_geo_hash.ts | 2 +- .../maps_legacy/public/map/grid_dimensions.js | 2 +- .../maps_legacy/public/map/kibana_map.js | 2 +- .../public/map/service_settings.js | 2 +- .../public/top_nav_menu/top_nav_menu_item.tsx | 6 +- .../__tests__/region_map_visualization.js | 2 +- .../region_map/public/choropleth_layer.js | 2 +- .../finder/saved_object_finder.test.tsx | 2 +- .../public/finder/saved_object_finder.tsx | 2 +- .../saved_object/helpers/apply_es_resp.ts | 2 +- .../helpers/build_saved_object.ts | 2 +- .../saved_object/helpers/create_source.ts | 2 +- .../helpers/initialize_saved_object.ts | 2 +- .../helpers/save_with_confirmation.ts | 2 +- .../helpers/serialize_saved_object.ts | 2 +- .../public/lib/case_conversion.ts | 2 +- .../public/lib/create_field_list.ts | 6 +- .../public/lib/get_relationships.ts | 2 +- .../public/lib/numeric.ts | 2 +- .../public/lib/resolve_saved_objects.ts | 2 +- .../object_view/components/form.tsx | 2 +- .../objects_table/components/flyout.tsx | 2 +- .../saved_objects_table.test.mocks.ts | 4 +- .../objects_table/saved_objects_table.tsx | 2 +- .../saved_objects_table_page.tsx | 4 +- .../server/lib/find_all.test.ts | 2 +- .../routes/lib/short_url_assert_valid.ts | 2 +- .../server/routes/lib/short_url_lookup.ts | 2 +- src/plugins/share/server/saved_objects/url.ts | 6 +- .../__tests__/get_local_stats.js | 2 +- .../server/telemetry_collection/get_kibana.ts | 2 +- src/plugins/tile_map/public/css_filters.js | 2 +- src/plugins/tile_map/public/geohash_layer.js | 2 +- .../tile_map/public/markers/heatmap.js | 2 +- .../tile_map/public/markers/scaled_circles.js | 2 +- .../tile_map/public/markers/shaded_circles.js | 2 +- .../tile_map/public/tile_map_visualization.js | 2 +- .../build_eui_context_menu_panels.tsx | 2 +- .../server/collector/collector_set.test.ts | 2 +- .../server/collector/collector_set.ts | 2 +- .../public/components/agg_group_helper.tsx | 2 +- .../public/components/agg_params_helper.ts | 4 +- .../public/components/agg_select.tsx | 2 +- .../controls/components/input_list.tsx | 4 +- .../components/number_list/range.test.ts | 2 +- .../controls/components/number_list/utils.ts | 4 +- .../components/simple_number_list.tsx | 2 +- .../components/controls/date_ranges.tsx | 2 +- .../components/controls/extended_bounds.tsx | 2 +- .../public/components/controls/field.tsx | 2 +- .../public/components/controls/filters.tsx | 8 +- .../components/controls/number_interval.tsx | 4 +- .../public/components/controls/ranges.tsx | 2 +- .../public/components/controls/size.tsx | 2 +- .../components/controls/time_interval.tsx | 4 +- .../public/components/sidebar/data_tab.tsx | 7 +- .../public/components/sidebar/sidebar.tsx | 2 +- .../components/sidebar/state/reducers.ts | 2 +- .../vis_default_editor/public/schemas.ts | 3 +- .../components/metric_vis_component.tsx | 6 +- .../public/agg_table/agg_table.js | 2 +- .../public/components/table_vis_options.tsx | 2 +- .../public/paginated_table/paginated_table.js | 2 +- .../paginated_table/paginated_table.test.ts | 2 +- .../public/paginated_table/rows.js | 2 +- .../public/table_vis_controller.js | 2 +- .../common/lib/to_milliseconds.ts | 2 +- .../public/components/panel.tsx | 2 +- .../timelion_expression_input_helpers.ts | 2 +- .../public/helpers/arg_value_suggestions.ts | 2 +- .../public/helpers/panel_utils.ts | 4 +- .../public/helpers/tick_formatters.ts | 2 +- .../public/timelion_vis_fn.ts | 9 +- .../server/fit_functions/average.js | 4 +- .../server/fit_functions/average.test.js | 2 +- .../server/fit_functions/carry.js | 2 +- .../server/fit_functions/carry.test.js | 2 +- .../server/fit_functions/nearest.js | 2 +- .../server/fit_functions/scale.js | 2 +- .../server/handlers/chain_runner.js | 4 +- .../server/handlers/lib/arg_type.js | 2 +- .../server/handlers/lib/index_arguments.js | 2 +- .../server/handlers/lib/parse_sheet.js | 2 +- .../server/handlers/lib/preprocess_chain.js | 2 +- .../handlers/lib/reposition_arguments.js | 2 +- .../server/handlers/lib/tl_config.js | 2 +- .../server/handlers/lib/validate_arg.js | 4 +- .../vis_type_timelion/server/lib/alter.js | 2 +- .../vis_type_timelion/server/lib/as_sorted.js | 4 +- .../server/lib/classes/datasource.js | 2 +- .../server/lib/classes/timelion_function.js | 4 +- .../server/lib/functions_md.js | 2 +- .../server/lib/get_namespaced_settings.js | 2 +- .../server/lib/load_functions.js | 4 +- .../server/lib/process_function_definition.js | 2 +- .../vis_type_timelion/server/lib/reduce.js | 4 +- .../server/lib/unzip_pairs.js | 4 +- .../server/routes/functions.ts | 2 +- .../vis_type_timelion/server/routes/run.ts | 2 +- .../server/routes/validate_es.ts | 2 +- .../server/series_functions/abs.js | 2 +- .../server/series_functions/abs.test.js | 2 +- .../aggregate/aggregate.test.js | 2 +- .../server/series_functions/aggregate/avg.js | 2 +- .../series_functions/aggregate/cardinality.js | 2 +- .../series_functions/aggregate/first.js | 2 +- .../series_functions/aggregate/index.js | 2 +- .../server/series_functions/aggregate/last.js | 2 +- .../server/series_functions/aggregate/max.js | 2 +- .../server/series_functions/aggregate/min.js | 2 +- .../server/series_functions/aggregate/sum.js | 2 +- .../server/series_functions/bars.test.js | 2 +- .../server/series_functions/color.test.js | 2 +- .../server/series_functions/condition.js | 2 +- .../server/series_functions/condition.test.js | 2 +- .../server/series_functions/cusum.js | 2 +- .../server/series_functions/cusum.test.js | 2 +- .../server/series_functions/derivative.js | 2 +- .../series_functions/derivative.test.js | 2 +- .../server/series_functions/divide.test.js | 2 +- .../server/series_functions/es/es.test.js | 2 +- .../server/series_functions/es/index.js | 2 +- .../es/lib/agg_response_to_series_list.js | 4 +- .../series_functions/es/lib/build_request.js | 4 +- .../es/lib/create_date_agg.js | 2 +- .../server/series_functions/fit.js | 2 +- .../server/series_functions/fit.test.js | 2 +- .../server/series_functions/graphite.js | 2 +- .../series_functions/helpers/get_series.js | 2 +- .../helpers/get_series_list.js | 2 +- .../helpers/get_single_series_list.js | 2 +- .../helpers/invoke_series_fn.js | 2 +- .../server/series_functions/hide.test.js | 2 +- .../server/series_functions/holt/index.js | 2 +- .../server/series_functions/holt/lib/des.js | 2 +- .../server/series_functions/holt/lib/ses.js | 2 +- .../server/series_functions/holt/lib/tes.js | 2 +- .../server/series_functions/label.test.js | 2 +- .../server/series_functions/log.js | 2 +- .../server/series_functions/log.test.js | 2 +- .../server/series_functions/max.test.js | 2 +- .../server/series_functions/min.test.js | 2 +- .../server/series_functions/movingaverage.js | 4 +- .../series_functions/movingaverage.test.js | 2 +- .../server/series_functions/movingstd.js | 4 +- .../server/series_functions/multiply.test.js | 2 +- .../server/series_functions/points.js | 4 +- .../server/series_functions/points.test.js | 2 +- .../server/series_functions/precision.test.js | 2 +- .../server/series_functions/props.js | 2 +- .../server/series_functions/quandl.js | 2 +- .../server/series_functions/range.js | 2 +- .../server/series_functions/range.test.js | 2 +- .../server/series_functions/scale_interval.js | 2 +- .../series_functions/scale_interval.test.js | 2 +- .../server/series_functions/static.js | 2 +- .../server/series_functions/static.test.js | 4 +- .../server/series_functions/subtract.test.js | 2 +- .../server/series_functions/sum.test.js | 2 +- .../server/series_functions/title.test.js | 2 +- .../server/series_functions/trend/index.js | 2 +- .../series_functions/trend/lib/regress.js | 2 +- .../server/series_functions/trim.js | 2 +- .../server/series_functions/trim.test.js | 2 +- .../server/series_functions/worldbank.js | 2 +- .../series_functions/worldbank_indicators.js | 2 +- .../server/series_functions/yaxis.js | 2 +- .../vis_type_timeseries/common/agg_lookup.js | 2 +- .../common/calculate_label.js | 2 +- .../common/extract_index_patterns.js | 2 +- .../common/get_last_value.js | 2 +- .../components/add_delete_buttons.js | 2 +- .../application/components/aggs/agg_row.js | 2 +- .../components/aggs/metric_select.js | 2 +- .../aggs/percentile_rank/multi_value_row.js | 2 +- .../aggs/percentile_rank/percentile_rank.js | 2 +- .../percentile_rank/percentile_rank_values.js | 2 +- .../components/aggs/percentile_ui.js | 2 +- .../application/components/aggs/vars.js | 2 +- .../components/annotations_editor.js | 2 +- .../application/components/color_rules.js | 2 +- .../components/data_format_picker.js | 2 +- .../public/application/components/error.js | 2 +- .../application/components/index_pattern.js | 2 +- .../components/lib/calculate_siblings.js | 2 +- .../application/components/lib/charts.js | 2 +- .../components/lib/convert_series_to_vars.js | 2 +- .../components/lib/create_change_handler.js | 2 +- .../components/lib/create_number_handler.js | 2 +- .../components/lib/create_select_handler.js | 2 +- .../components/lib/create_text_handler.js | 2 +- .../components/lib/get_interval.js | 2 +- .../components/lib/new_series_fn.js | 2 +- .../components/lib/re_id_series.js | 2 +- .../components/lib/replace_vars.js | 2 +- .../components/lib/series_change_handler.js | 4 +- .../components/lib/tick_formatter.js | 2 +- .../application/components/markdown_editor.js | 2 +- .../components/panel_config/table.js | 2 +- .../public/application/components/series.js | 2 +- .../application/components/series_editor.js | 2 +- .../public/application/components/split.js | 2 +- .../components/splits/filter_items.js | 2 +- .../application/components/splits/terms.js | 2 +- .../application/components/vis_editor.js | 2 +- .../components/vis_editor_visualization.js | 2 +- .../components/vis_types/gauge/vis.js | 2 +- .../components/vis_types/markdown/vis.js | 2 +- .../components/vis_types/metric/vis.js | 2 +- .../components/vis_types/table/vis.js | 2 +- .../components/vis_types/timeseries/vis.js | 2 +- .../components/vis_types/top_n/vis.js | 2 +- .../application/components/vis_with_splits.js | 2 +- .../application/components/visualization.js | 2 +- .../public/application/components/yes_no.js | 2 +- .../application/lib/check_ui_restrictions.js | 2 +- .../visualizations/lib/get_value_by.js | 2 +- .../application/visualizations/views/gauge.js | 2 +- .../visualizations/views/gauge_vis.js | 2 +- .../visualizations/views/metric.js | 2 +- .../vis_type_timeseries/public/metrics_fn.ts | 2 +- .../server/lib/get_fields.ts | 4 +- .../server/lib/get_vis_data.ts | 2 +- .../vis_data/get_interval_and_timefield.js | 2 +- .../server/lib/vis_data/get_table_data.js | 2 +- .../lib/vis_data/helpers/bucket_transform.js | 2 +- .../lib/vis_data/helpers/get_agg_value.js | 2 +- .../lib/vis_data/helpers/get_buckets_path.js | 2 +- .../lib/vis_data/helpers/get_index_pattern.js | 2 +- .../lib/vis_data/helpers/get_last_metric.js | 2 +- .../vis_data/helpers/get_sibling_agg_value.js | 2 +- .../server/lib/vis_data/helpers/get_splits.js | 2 +- .../lib/vis_data/helpers/parse_interval.js | 2 +- .../server/lib/vis_data/helpers/timestamp.js | 2 +- .../lib/vis_data/helpers/unit_to_seconds.js | 2 +- .../series/normalize_query.js | 2 +- .../table/calculate_agg_root.js | 2 +- .../table/normalize_query.js | 2 +- .../request_processors/table/pivot.js | 2 +- .../annotations/buckets.js | 2 +- .../response_processors/annotations/index.js | 2 +- .../response_processors/series/_series_agg.js | 2 +- .../series/drop_last_bucket.js | 2 +- .../response_processors/series/math.js | 2 +- .../response_processors/series/series_agg.js | 2 +- .../response_processors/series/time_shift.js | 2 +- .../response_processors/table/_series_agg.js | 2 +- .../response_processors/table/percentile.js | 2 +- .../table/percentile_rank.js | 2 +- .../response_processors/table/series_agg.js | 2 +- .../vis_data/series/handle_response_body.js | 2 +- .../lib/vis_data/table/process_bucket.js | 2 +- .../server/saved_objects/tsvb_telemetry.ts | 6 +- .../public/data_model/es_query_parser.js | 2 +- .../public/data_model/es_query_parser.test.js | 2 +- .../public/data_model/vega_parser.js | 2 +- .../public/data_model/vega_parser.test.js | 2 +- src/plugins/vis_type_vega/public/vega_fn.ts | 8 +- .../public/vega_view/vega_tooltip.js | 2 +- .../components/options/metrics_axes/index.tsx | 2 +- .../components/options/metrics_axes/utils.ts | 2 +- .../fixtures/mock_data/filters/_columns.js | 2 +- .../fixtures/mock_data/filters/_rows.js | 2 +- .../fixtures/mock_data/filters/_series.js | 2 +- .../fixtures/mock_data/geohash/_columns.js | 2 +- .../fixtures/mock_data/geohash/_geo_json.js | 2 +- .../fixtures/mock_data/geohash/_rows.js | 2 +- .../fixtures/mock_data/histogram/_columns.js | 2 +- .../fixtures/mock_data/histogram/_rows.js | 2 +- .../fixtures/mock_data/histogram/_series.js | 2 +- .../fixtures/mock_data/histogram/_slices.js | 2 +- .../mock_data/not_enough_data/_one_point.js | 2 +- .../fixtures/mock_data/range/_columns.js | 2 +- .../public/fixtures/mock_data/range/_rows.js | 2 +- .../fixtures/mock_data/range/_series.js | 2 +- .../mock_data/significant_terms/_columns.js | 2 +- .../mock_data/significant_terms/_rows.js | 2 +- .../mock_data/significant_terms/_series.js | 2 +- .../fixtures/mock_data/terms/_columns.js | 2 +- .../public/fixtures/mock_data/terms/_rows.js | 2 +- .../fixtures/mock_data/terms/_series.js | 2 +- .../mock_data/terms/_series_multiple.js | 2 +- .../vislib/components/labels/data_array.js | 2 +- .../components/labels/flatten_series.js | 2 +- .../public/vislib/components/labels/labels.js | 2 +- .../vislib/components/labels/labels.test.js | 2 +- .../vislib/components/labels/uniq_labels.js | 2 +- .../vislib/components/legend/legend.tsx | 2 +- .../vislib/components/legend/pie_utils.ts | 2 +- .../_hierarchical_tooltip_formatter.js | 2 +- .../_pointseries_tooltip_formatter.test.js | 2 +- .../components/tooltip/position_tooltip.js | 2 +- .../tooltip/position_tooltip.test.js | 2 +- .../vislib/components/tooltip/tooltip.js | 2 +- .../components/zero_injection/flatten_data.js | 2 +- .../zero_injection/ordered_x_keys.js | 2 +- .../components/zero_injection/uniq_keys.js | 2 +- .../zero_injection/zero_fill_data_array.js | 2 +- .../zero_injection/zero_injection.test.js | 2 +- .../hierarchical/build_hierarchical_data.ts | 2 +- .../helpers/point_series/_get_series.ts | 4 +- .../helpers/point_series/_init_x_axis.ts | 2 +- .../helpers/point_series/_init_y_axis.test.ts | 2 +- .../point_series/_ordered_date_axis.test.ts | 2 +- .../helpers/point_series/point_series.test.ts | 2 +- .../public/vislib/lib/_error_handler.js | 2 +- .../public/vislib/lib/alerts.js | 2 +- .../public/vislib/lib/axis/axis.js | 2 +- .../public/vislib/lib/axis/axis.test.js | 2 +- .../public/vislib/lib/axis/axis_config.js | 2 +- .../public/vislib/lib/axis/axis_scale.js | 2 +- .../public/vislib/lib/axis/axis_title.test.js | 2 +- .../public/vislib/lib/axis/x_axis.test.js | 2 +- .../public/vislib/lib/axis/y_axis.test.js | 2 +- .../public/vislib/lib/chart_grid.js | 2 +- .../public/vislib/lib/chart_title.js | 2 +- .../vis_type_vislib/public/vislib/lib/data.js | 2 +- .../public/vislib/lib/data.test.js | 2 +- .../public/vislib/lib/dispatch.js | 2 +- .../public/vislib/lib/handler.js | 2 +- .../public/vislib/lib/layout/layout.js | 2 +- .../vislib/lib/layout/layout_types.test.js | 2 +- .../lib/layout/types/column_layout.test.js | 2 +- .../public/vislib/lib/types/pie.js | 2 +- .../public/vislib/lib/types/point_series.js | 2 +- .../public/vislib/lib/vis_config.js | 2 +- .../vis_type_vislib/public/vislib/vis.js | 2 +- .../public/vislib/visualizations/_chart.js | 2 +- .../vislib/visualizations/gauges/meter.js | 2 +- .../public/vislib/visualizations/pie_chart.js | 2 +- .../vislib/visualizations/point_series.js | 2 +- .../point_series/_point_series.js | 2 +- .../visualizations/point_series/area_chart.js | 2 +- .../point_series/column_chart.js | 2 +- .../point_series/heatmap_chart.js | 2 +- .../visualizations/point_series/line_chart.js | 2 +- .../vislib/visualizations/vis_types.test.js | 2 +- .../public/components/visualization.tsx | 2 +- .../public/embeddable/visualize_embeddable.ts | 2 +- .../visualizations/public/expressions/vis.ts | 2 +- .../expressions/visualization_function.ts | 2 +- .../public/legacy/build_pipeline.ts | 2 +- .../public/legacy/vis_update_state.js | 2 +- .../public/legacy/vis_update_state.test.js | 2 +- .../public/persisted_state/persisted_state.ts | 17 ++- .../saved_visualizations/find_list_items.ts | 4 +- src/plugins/visualizations/public/vis.ts | 2 +- .../public/vis_types/base_vis_type.ts | 2 +- .../public/vis_types/react_vis_type.test.ts | 2 +- .../wizard/type_selection/type_selection.tsx | 4 +- .../saved_objects/visualization_migrations.ts | 60 +++++----- .../public/application/editor/editor.js | 2 +- .../editor/lib/migrate_app_state.ts | 4 +- .../editor/lib/visualize_app_state.ts | 6 +- .../public/application/legacy_app.js | 2 +- src/test_utils/expect_deep_equal.js | 2 +- src/test_utils/get_url.js | 4 +- src/test_utils/kbn_server.ts | 4 +- src/test_utils/public/simulate_keys.js | 2 +- .../fields_for_wildcard_route/response.js | 2 +- .../apis/kql_telemetry/kql_telemetry.js | 2 +- .../apis/saved_objects/bulk_update.js | 2 +- .../apis/saved_objects/migrations.js | 4 +- .../apis/telemetry/telemetry_local.js | 2 +- .../apps/management/_import_objects.js | 29 ++--- .../functional/apps/visualize/_chart_types.ts | 2 +- test/functional/page_objects/common_page.ts | 2 +- test/functional/services/common/browser.ts | 6 +- test/tsconfig.json | 1 - .../services/visual_testing/visual_testing.ts | 1 - typings/lodash.topath/index.d.ts | 23 ---- .../load_mappings_provider.test.tsx | 4 +- yarn.lock | 51 ++++---- 843 files changed, 1158 insertions(+), 1162 deletions(-) delete mode 100644 typings/lodash.topath/index.d.ts diff --git a/package.json b/package.json index ee9e0df0423c4..0b22f1c4b60c7 100644 --- a/package.json +++ b/package.json @@ -213,6 +213,8 @@ "leaflet.heat": "0.2.0", "less": "npm:@elastic/less@2.7.3-kibana", "less-loader": "5.0.0", + "lodash4": "npm:lodash@^4.17.15", + "lodash3": "npm:@elastic/lodash@3.10.1-kibana4", "lodash": "npm:@elastic/lodash@3.10.1-kibana4", "lodash.clonedeep": "^4.5.0", "lru-cache": "4.1.5", @@ -354,6 +356,8 @@ "@types/json5": "^0.0.30", "@types/license-checker": "15.0.0", "@types/listr": "^0.14.0", + "@types/lodash4": "npm:@types/lodash@^4.14.155", + "@types/lodash3": "npm:@types/lodash@^3.10.1", "@types/lodash": "^3.10.1", "@types/lodash.clonedeep": "^4.5.4", "@types/lru-cache": "^5.1.0", diff --git a/packages/kbn-config-schema/package.json b/packages/kbn-config-schema/package.json index 015dca128ce91..163b6058f3552 100644 --- a/packages/kbn-config-schema/package.json +++ b/packages/kbn-config-schema/package.json @@ -14,6 +14,7 @@ "tsd": "^0.7.4" }, "peerDependencies": { + "lodash3": "npm:@elastic/lodash@3.10.1-kibana4", "joi": "^13.5.2", "moment": "^2.24.0", "type-detect": "^4.0.8" diff --git a/packages/kbn-config-schema/src/internals/index.ts b/packages/kbn-config-schema/src/internals/index.ts index f3756aaf90793..aaf0e60c5fd34 100644 --- a/packages/kbn-config-schema/src/internals/index.ts +++ b/packages/kbn-config-schema/src/internals/index.ts @@ -27,7 +27,7 @@ import { ValidationErrorItem, ValidationOptions, } from 'joi'; -import { isPlainObject } from 'lodash'; +import { isPlainObject } from 'lodash3'; import { isDuration } from 'moment'; import { Stream } from 'stream'; import { ByteSizeValue, ensureByteSizeValue } from '../byte_size_value'; diff --git a/renovate.json5 b/renovate.json5 index b4f1441a50d60..d77c2e787f6eb 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -565,6 +565,22 @@ '@types/lodash.clonedeepwith', ], }, + { + groupSlug: 'lodash3', + groupName: 'lodash3 related packages', + packageNames: [ + 'lodash3', + '@types/lodash3', + ], + }, + { + groupSlug: 'lodash4', + groupName: 'lodash4 related packages', + packageNames: [ + 'lodash4', + '@types/lodash4', + ], + }, { groupSlug: 'log-symbols', groupName: 'log-symbols related packages', diff --git a/src/apm.js b/src/apm.js index 6c10539c6b7d3..99347e7b19e0a 100644 --- a/src/apm.js +++ b/src/apm.js @@ -20,7 +20,7 @@ const { join } = require('path'); const { readFileSync } = require('fs'); const { execSync } = require('child_process'); -const merge = require('lodash.merge'); +const merge = require('lodash4/merge'); const { name, version, build } = require('../package.json'); const ROOT_DIR = join(__dirname, '..'); diff --git a/src/cli/cli.js b/src/cli/cli.js index 50a8d4c7f7f01..d7d18998257af 100644 --- a/src/cli/cli.js +++ b/src/cli/cli.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { pkg } from '../core/server/utils'; import Command from './command'; import serveCommand from './serve/serve'; diff --git a/src/cli/cluster/cluster.mock.ts b/src/cli/cluster/cluster.mock.ts index 332f8aad53ba1..362d48d47ca86 100644 --- a/src/cli/cluster/cluster.mock.ts +++ b/src/cli/cluster/cluster.mock.ts @@ -20,7 +20,7 @@ // eslint-disable-next-line max-classes-per-file import EventEmitter from 'events'; -import { assign, random } from 'lodash'; +import { assign, random } from 'lodash4'; import { delay } from 'bluebird'; class MockClusterFork extends EventEmitter { diff --git a/src/cli/cluster/cluster_manager.test.ts b/src/cli/cluster/cluster_manager.test.ts index 66f68f815edac..d20d169670d2b 100644 --- a/src/cli/cluster/cluster_manager.test.ts +++ b/src/cli/cluster/cluster_manager.test.ts @@ -50,7 +50,7 @@ const mockConfig: any = { }, }; -import { sample } from 'lodash'; +import { sample } from 'lodash4'; import { ClusterManager } from './cluster_manager'; import { Worker } from './worker'; @@ -93,7 +93,7 @@ describe('CLI cluster manager', () => { } const football = {}; - const messenger = sample(manager.workers); + const messenger = sample(manager.workers) as any; messenger.emit('broadcast', football); for (const worker of manager.workers) { diff --git a/src/cli/cluster/worker.ts b/src/cli/cluster/worker.ts index dc6e6d5676651..8874c94905e44 100644 --- a/src/cli/cluster/worker.ts +++ b/src/cli/cluster/worker.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import cluster from 'cluster'; import { EventEmitter } from 'events'; @@ -177,7 +177,7 @@ export class Worker extends EventEmitter { } flushChangeBuffer() { - const files = _.unique(this.changes.splice(0)); + const files = _.uniq(this.changes.splice(0)); const prefix = files.length > 1 ? '\n - ' : ''; return files.reduce(function (list, file) { return `${list || ''}${prefix}"${file}"`; diff --git a/src/cli/command.js b/src/cli/command.js index f4781fcab1e20..c9b8c67f7772e 100644 --- a/src/cli/command.js +++ b/src/cli/command.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import Chalk from 'chalk'; import help from './help'; diff --git a/src/cli/help.js b/src/cli/help.js index 656944d85b254..6ed2aa27ad52d 100644 --- a/src/cli/help.js +++ b/src/cli/help.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function help(command, spaces) { if (!_.size(command.commands)) { @@ -72,7 +72,7 @@ function commandsSummary(program) { }, 0); return cmds.reduce(function (help, cmd) { - return `${help || ''}${_.padRight(cmd[0], cmdLColWidth)} ${cmd[1] || ''}\n`; + return `${help || ''}${_.padEnd(cmd[0], cmdLColWidth)} ${cmd[1] || ''}\n`; }, ''); } diff --git a/src/cli/serve/read_keystore.js b/src/cli/serve/read_keystore.js index cfe02735630f2..46839ba73fccb 100644 --- a/src/cli/serve/read_keystore.js +++ b/src/cli/serve/read_keystore.js @@ -18,7 +18,7 @@ */ import path from 'path'; -import { set } from 'lodash'; +import { set } from 'lodash4'; import { Keystore } from '../../legacy/server/keystore'; import { getDataPath } from '../../core/server/path'; diff --git a/src/cli/serve/serve.js b/src/cli/serve/serve.js index 8bc65f3da7111..0dd8844d06f39 100644 --- a/src/cli/serve/serve.js +++ b/src/cli/serve/serve.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { statSync } from 'fs'; import { resolve } from 'path'; import url from 'url'; diff --git a/src/cli_keystore/cli_keystore.js b/src/cli_keystore/cli_keystore.js index e1561b343ef39..8d7f45e70bf88 100644 --- a/src/cli_keystore/cli_keystore.js +++ b/src/cli_keystore/cli_keystore.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { join } from 'path'; import { pkg } from '../core/server/utils'; diff --git a/src/cli_plugin/cli.js b/src/cli_plugin/cli.js index da1068b54b4b5..537a01b7ae6e7 100644 --- a/src/cli_plugin/cli.js +++ b/src/cli_plugin/cli.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { pkg } from '../core/server/utils'; import Command from '../cli/command'; import listCommand from './list'; diff --git a/src/cli_plugin/install/rename.js b/src/cli_plugin/install/rename.js index 1e5d94d474375..7b4b86b6d136f 100644 --- a/src/cli_plugin/install/rename.js +++ b/src/cli_plugin/install/rename.js @@ -18,7 +18,7 @@ */ import { rename } from 'fs'; -import { delay } from 'lodash'; +import { delay } from 'lodash4'; export function renamePlugin(workingPath, finalPath) { return new Promise(function (resolve, reject) { diff --git a/src/cli_plugin/install/zip.js b/src/cli_plugin/install/zip.js index 52eba2ea239a2..51e57c5b7a5c2 100644 --- a/src/cli_plugin/install/zip.js +++ b/src/cli_plugin/install/zip.js @@ -20,7 +20,7 @@ import yauzl from 'yauzl'; import path from 'path'; import { createWriteStream, mkdir } from 'fs'; -import { get } from 'lodash'; +import { get } from 'lodash4'; /** * Returns an array of package objects. There will be one for each of diff --git a/src/core/public/chrome/doc_title/doc_title_service.ts b/src/core/public/chrome/doc_title/doc_title_service.ts index c6e9ec7a40b77..76a77dbae3ec0 100644 --- a/src/core/public/chrome/doc_title/doc_title_service.ts +++ b/src/core/public/chrome/doc_title/doc_title_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { compact, flattenDeep, isString } from 'lodash'; +import { compact, flattenDeep, isString } from 'lodash4'; interface StartDeps { document: { title: string }; diff --git a/src/core/public/chrome/nav_controls/nav_controls_service.ts b/src/core/public/chrome/nav_controls/nav_controls_service.ts index 167948e01cb36..37fd4bebcb95a 100644 --- a/src/core/public/chrome/nav_controls/nav_controls_service.ts +++ b/src/core/public/chrome/nav_controls/nav_controls_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; import { BehaviorSubject, ReplaySubject, Observable } from 'rxjs'; import { map, takeUntil } from 'rxjs/operators'; import { MountPoint } from '../../types'; diff --git a/src/core/public/chrome/nav_links/nav_links_service.ts b/src/core/public/chrome/nav_links/nav_links_service.ts index 3095bb86b72e2..8b82425341bff 100644 --- a/src/core/public/chrome/nav_links/nav_links_service.ts +++ b/src/core/public/chrome/nav_links/nav_links_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; import { BehaviorSubject, combineLatest, Observable, ReplaySubject } from 'rxjs'; import { map, takeUntil } from 'rxjs/operators'; diff --git a/src/core/public/chrome/recently_accessed/persisted_log.ts b/src/core/public/chrome/recently_accessed/persisted_log.ts index ca94e0bcddfaf..af6f51d12ffbc 100644 --- a/src/core/public/chrome/recently_accessed/persisted_log.ts +++ b/src/core/public/chrome/recently_accessed/persisted_log.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, isEqual, take } from 'lodash'; +import { cloneDeep, isEqual, take } from 'lodash4'; import * as Rx from 'rxjs'; import { map } from 'rxjs/operators'; diff --git a/src/core/public/chrome/ui/header/collapsible_nav.tsx b/src/core/public/chrome/ui/header/collapsible_nav.tsx index 9494e22920de8..9193e8bb23854 100644 --- a/src/core/public/chrome/ui/header/collapsible_nav.tsx +++ b/src/core/public/chrome/ui/header/collapsible_nav.tsx @@ -29,7 +29,7 @@ import { EuiText, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { groupBy, sortBy } from 'lodash'; +import { groupBy, sortBy } from 'lodash4'; import React, { useRef } from 'react'; import { useObservable } from 'react-use'; import * as Rx from 'rxjs'; diff --git a/src/core/public/http/fetch.ts b/src/core/public/http/fetch.ts index bf9b4235e9444..3b736d1146e7c 100644 --- a/src/core/public/http/fetch.ts +++ b/src/core/public/http/fetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { merge } from 'lodash'; +import { merge } from 'lodash3'; import { format } from 'url'; import { BehaviorSubject } from 'rxjs'; @@ -111,6 +111,7 @@ export class Fetch { }); }; + // TODO: need to migrate this to lodash4 private createRequest(options: HttpFetchOptionsWithPath): Request { // Merge and destructure options out that are not applicable to the Fetch API. const { @@ -134,6 +135,7 @@ export class Fetch { }, } ); + const url = format({ pathname: shouldPrependBasePath ? this.params.basePath.prepend(options.path) : options.path, query, diff --git a/src/core/public/injected_metadata/injected_metadata_service.ts b/src/core/public/injected_metadata/injected_metadata_service.ts index 75abdd6d87d5a..8f382f9f8eaba 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { DiscoveredPlugin, PluginName } from '../../server'; import { EnvironmentMode, diff --git a/src/core/public/overlays/banners/priority_map.ts b/src/core/public/overlays/banners/priority_map.ts index c6d493b380b4c..c942f884fe779 100644 --- a/src/core/public/overlays/banners/priority_map.ts +++ b/src/core/public/overlays/banners/priority_map.ts @@ -17,7 +17,7 @@ * under the License. */ -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; interface PriorityValue { readonly priority: number; diff --git a/src/core/public/plugins/plugin_context.ts b/src/core/public/plugins/plugin_context.ts index 65c6b6ce4edba..ee8b162cd1edb 100644 --- a/src/core/public/plugins/plugin_context.ts +++ b/src/core/public/plugins/plugin_context.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash'; +import { omit } from 'lodash4'; import { DiscoveredPlugin } from '../../server'; import { PluginOpaqueId, PackageInfo, EnvironmentMode } from '../../server/types'; import { CoreContext } from '../core_system'; diff --git a/src/core/public/plugins/plugins_service.test.ts b/src/core/public/plugins/plugins_service.test.ts index 05127e73d0c7a..0de208f4a9f14 100644 --- a/src/core/public/plugins/plugins_service.test.ts +++ b/src/core/public/plugins/plugins_service.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit, pick } from 'lodash'; +import { omit, pick } from 'lodash4'; import { MockedPluginInitializer, @@ -92,7 +92,10 @@ describe('PluginsService', () => { docLinks: docLinksServiceMock.createSetupContract(), fatalErrors: fatalErrorsServiceMock.createSetupContract(), http: httpServiceMock.createSetupContract(), - injectedMetadata: pick(injectedMetadataServiceMock.createStartContract(), 'getInjectedVar'), + injectedMetadata: pick( + injectedMetadataServiceMock.createStartContract(), + 'getInjectedVar' + ) as any, notifications: notificationServiceMock.createSetupContract(), uiSettings: uiSettingsServiceMock.createSetupContract(), }; @@ -107,7 +110,10 @@ describe('PluginsService', () => { http: httpServiceMock.createStartContract(), chrome: chromeServiceMock.createStartContract(), i18n: i18nServiceMock.createStartContract(), - injectedMetadata: pick(injectedMetadataServiceMock.createStartContract(), 'getInjectedVar'), + injectedMetadata: pick( + injectedMetadataServiceMock.createStartContract(), + 'getInjectedVar' + ) as any, notifications: notificationServiceMock.createStartContract(), overlays: overlayServiceMock.createStartContract(), uiSettings: uiSettingsServiceMock.createStartContract(), diff --git a/src/core/public/saved_objects/saved_objects_client.ts b/src/core/public/saved_objects/saved_objects_client.ts index 5c8eca4a33ec5..0f7d89092241e 100644 --- a/src/core/public/saved_objects/saved_objects_client.ts +++ b/src/core/public/saved_objects/saved_objects_client.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, pick, throttle } from 'lodash'; +import { cloneDeep, pick, throttle } from 'lodash4'; import { resolve as resolveUrl } from 'url'; import { @@ -162,7 +162,9 @@ export class SavedObjectsClient { }); if (!foundObject) { - return queueItem.resolve(this.createSavedObject(pick(queueItem, ['id', 'type']))); + return queueItem.resolve( + this.createSavedObject(pick(queueItem, ['id', 'type']) as SavedObject) + ); } queueItem.resolve(foundObject); diff --git a/src/core/public/saved_objects/simple_saved_object.ts b/src/core/public/saved_objects/simple_saved_object.ts index d3ba506b865a4..f53a973c18654 100644 --- a/src/core/public/saved_objects/simple_saved_object.ts +++ b/src/core/public/saved_objects/simple_saved_object.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, has, set } from 'lodash'; +import { get, has, set } from 'lodash4'; import { SavedObject as SavedObjectType } from '../../server'; import { SavedObjectsClientContract } from './saved_objects_client'; @@ -60,7 +60,7 @@ export class SimpleSavedObject { } public set(key: string, value: any): T { - return set(this.attributes, key, value); + return set(this.attributes as any, key, value) as any; } public has(key: string): boolean { diff --git a/src/core/public/ui_settings/ui_settings_client.ts b/src/core/public/ui_settings/ui_settings_client.ts index 2a7c3c2fab2f3..e6ce9e5e8210a 100644 --- a/src/core/public/ui_settings/ui_settings_client.ts +++ b/src/core/public/ui_settings/ui_settings_client.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, defaultsDeep } from 'lodash'; +import { cloneDeep, defaultsDeep } from 'lodash4'; import { Observable, Subject, concat, defer, of } from 'rxjs'; import { filter, map } from 'rxjs/operators'; diff --git a/src/core/server/capabilities/merge_capabilities.ts b/src/core/server/capabilities/merge_capabilities.ts index 95296346ad835..372c2ba3dcb44 100644 --- a/src/core/server/capabilities/merge_capabilities.ts +++ b/src/core/server/capabilities/merge_capabilities.ts @@ -17,11 +17,11 @@ * under the License. */ -import { merge } from 'lodash'; +import { mergeWith } from 'lodash4'; import { Capabilities } from './types'; export const mergeCapabilities = (...sources: Array>): Capabilities => - merge({}, ...sources, (a: any, b: any) => { + mergeWith({}, ...sources, (a: any, b: any) => { if ( (typeof a === 'boolean' && typeof b === 'object') || (typeof a === 'object' && typeof b === 'boolean') diff --git a/src/core/server/capabilities/resolve_capabilities.ts b/src/core/server/capabilities/resolve_capabilities.ts index 1be504d4bc314..101c5b899472c 100644 --- a/src/core/server/capabilities/resolve_capabilities.ts +++ b/src/core/server/capabilities/resolve_capabilities.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { Capabilities, CapabilitiesSwitcher } from './types'; import { KibanaRequest } from '../http'; diff --git a/src/core/server/config/config_service.ts b/src/core/server/config/config_service.ts index bceba420bb6ce..f6fbb2c7fc845 100644 --- a/src/core/server/config/config_service.ts +++ b/src/core/server/config/config_service.ts @@ -18,7 +18,7 @@ */ import { Type } from '@kbn/config-schema'; -import { isEqual } from 'lodash'; +import { isEqual } from 'lodash4'; import { BehaviorSubject, combineLatest, Observable } from 'rxjs'; import { distinctUntilChanged, first, map, shareReplay, take } from 'rxjs/operators'; diff --git a/src/core/server/config/deprecation/apply_deprecations.ts b/src/core/server/config/deprecation/apply_deprecations.ts index f7f95709ed846..691167f451195 100644 --- a/src/core/server/config/deprecation/apply_deprecations.ts +++ b/src/core/server/config/deprecation/apply_deprecations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { ConfigDeprecationWithContext, ConfigDeprecationLogger } from './types'; const noopLogger = (msg: string) => undefined; diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index 483534e0c145b..4d09d219ba109 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { has, get } from 'lodash'; +import { has, get } from 'lodash4'; import { ConfigDeprecationProvider, ConfigDeprecation } from './types'; const configPathDeprecation: ConfigDeprecation = (settings, fromPath, log) => { @@ -41,7 +41,7 @@ const dataPathDeprecation: ConfigDeprecation = (settings, fromPath, log) => { const xsrfDeprecation: ConfigDeprecation = (settings, fromPath, log) => { if ( has(settings, 'server.xsrf.whitelist') && - get(settings, 'server.xsrf.whitelist').length > 0 + get(settings, 'server.xsrf.whitelist' as any).length > 0 ) { log( 'It is not recommended to disable xsrf protections for API endpoints via [server.xsrf.whitelist]. ' + diff --git a/src/core/server/config/deprecation/deprecation_factory.ts b/src/core/server/config/deprecation/deprecation_factory.ts index 0b19a99624311..4576b4cf51fde 100644 --- a/src/core/server/config/deprecation/deprecation_factory.ts +++ b/src/core/server/config/deprecation/deprecation_factory.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, set } from 'lodash'; +import { get, set } from 'lodash4'; import { ConfigDeprecation, ConfigDeprecationLogger, ConfigDeprecationFactory } from './types'; import { unset } from '../../../utils'; diff --git a/src/core/server/config/object_to_config_adapter.ts b/src/core/server/config/object_to_config_adapter.ts index d4c2f73364060..28d7dc40fafab 100644 --- a/src/core/server/config/object_to_config_adapter.ts +++ b/src/core/server/config/object_to_config_adapter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, get, has, set } from 'lodash'; +import { cloneDeep, get, has, set } from 'lodash4'; import { getFlattenedObject } from '../../utils'; import { Config, ConfigPath } from './'; diff --git a/src/core/server/config/raw_config_service.ts b/src/core/server/config/raw_config_service.ts index 257ec612f3249..b291a29d2775b 100644 --- a/src/core/server/config/raw_config_service.ts +++ b/src/core/server/config/raw_config_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, isPlainObject } from 'lodash'; +import { cloneDeep, isPlainObject } from 'lodash4'; import { Observable, ReplaySubject } from 'rxjs'; import { map } from 'rxjs/operators'; import typeDetect from 'type-detect'; diff --git a/src/core/server/config/read_config.ts b/src/core/server/config/read_config.ts index eac3535c9d4ed..128eb8f482b9d 100644 --- a/src/core/server/config/read_config.ts +++ b/src/core/server/config/read_config.ts @@ -20,7 +20,7 @@ import { readFileSync } from 'fs'; import { safeLoad } from 'js-yaml'; -import { isPlainObject, set } from 'lodash'; +import { isPlainObject, set } from 'lodash4'; import { ensureDeepObject } from './ensure_deep_object'; const readYaml = (path: string) => safeLoad(readFileSync(path, 'utf8')); diff --git a/src/core/server/elasticsearch/cluster_client.test.ts b/src/core/server/elasticsearch/cluster_client.test.ts index db277fa0e0607..05a88dee00851 100644 --- a/src/core/server/elasticsearch/cluster_client.test.ts +++ b/src/core/server/elasticsearch/cluster_client.test.ts @@ -26,7 +26,7 @@ import { } from './cluster_client.test.mocks'; import { errors } from 'elasticsearch'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { Logger } from '../logging'; import { loggingServiceMock } from '../logging/logging_service.mock'; import { httpServerMock } from '../http/http_server.mocks'; diff --git a/src/core/server/elasticsearch/cluster_client.ts b/src/core/server/elasticsearch/cluster_client.ts index 2352677b8d3e0..03579a9f0f4c0 100644 --- a/src/core/server/elasticsearch/cluster_client.ts +++ b/src/core/server/elasticsearch/cluster_client.ts @@ -17,7 +17,7 @@ * under the License. */ import { Client } from 'elasticsearch'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { ElasticsearchErrorHelpers } from './errors'; import { GetAuthHeaders, isRealRequest, LegacyRequest } from '../http'; diff --git a/src/core/server/elasticsearch/elasticsearch_client_config.ts b/src/core/server/elasticsearch/elasticsearch_client_config.ts index 287d835c40351..9f63ec6e68c10 100644 --- a/src/core/server/elasticsearch/elasticsearch_client_config.ts +++ b/src/core/server/elasticsearch/elasticsearch_client_config.ts @@ -18,7 +18,7 @@ */ import { ConfigOptions } from 'elasticsearch'; -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { Duration } from 'moment'; import { checkServerIdentity } from 'tls'; import url from 'url'; diff --git a/src/core/server/elasticsearch/errors.ts b/src/core/server/elasticsearch/errors.ts index 6852b8632ebf1..a6204a9bc4140 100644 --- a/src/core/server/elasticsearch/errors.ts +++ b/src/core/server/elasticsearch/errors.ts @@ -18,7 +18,7 @@ */ import Boom from 'boom'; -import { get } from 'lodash'; +import { get } from 'lodash4'; const code = Symbol('ElasticsearchError'); @@ -81,7 +81,7 @@ export class ElasticsearchErrorHelpers { public static decorateNotAuthorizedError(error: Error, reason?: string) { const decoratedError = decorate(error, ErrorCode.NOT_AUTHORIZED, 401, reason); - const wwwAuthHeader = get(error, 'body.error.header[WWW-Authenticate]'); + const wwwAuthHeader = get(error as any, 'body.error.header[WWW-Authenticate]' as any); decoratedError.output.headers['WWW-Authenticate'] = wwwAuthHeader || 'Basic realm="Authorization Required"'; diff --git a/src/core/server/elasticsearch/scoped_cluster_client.ts b/src/core/server/elasticsearch/scoped_cluster_client.ts index 4b64bfba15190..b7f5d273b6abe 100644 --- a/src/core/server/elasticsearch/scoped_cluster_client.ts +++ b/src/core/server/elasticsearch/scoped_cluster_client.ts @@ -17,7 +17,7 @@ * under the License. */ -import { intersection, isObject } from 'lodash'; +import { intersection, isObject } from 'lodash4'; import { Headers } from '../http/router'; import { APICaller, CallAPIOptions } from './api_types'; diff --git a/src/core/server/http/base_path_proxy_server.ts b/src/core/server/http/base_path_proxy_server.ts index ffbdabadd03f7..a22f2c0921b0b 100644 --- a/src/core/server/http/base_path_proxy_server.ts +++ b/src/core/server/http/base_path_proxy_server.ts @@ -24,7 +24,7 @@ import apm from 'elastic-apm-node'; import { ByteSizeValue } from '@kbn/config-schema'; import { Server, Request, ResponseToolkit } from 'hapi'; import HapiProxy from 'h2o2'; -import { sample } from 'lodash'; +import { sampleSize } from 'lodash4'; import BrowserslistUserAgent from 'browserslist-useragent'; import * as Rx from 'rxjs'; import { take } from 'rxjs/operators'; @@ -90,7 +90,7 @@ export class BasePathProxyServer { httpConfig.maxPayload = new ByteSizeValue(ONE_GIGABYTE); if (!httpConfig.basePath) { - httpConfig.basePath = `/${sample(alphabet, 3).join('')}`; + httpConfig.basePath = `/${sampleSize(alphabet, 3).join('')}`; } } diff --git a/src/core/server/http/http_server.mocks.ts b/src/core/server/http/http_server.mocks.ts index bbef0a105c089..f13e5d0bed213 100644 --- a/src/core/server/http/http_server.mocks.ts +++ b/src/core/server/http/http_server.mocks.ts @@ -17,7 +17,7 @@ * under the License. */ import { Request } from 'hapi'; -import { merge } from 'lodash'; +import { merge } from 'lodash4'; import { Socket } from 'net'; import { stringify } from 'query-string'; diff --git a/src/core/server/http/http_service.test.ts b/src/core/server/http/http_service.test.ts index 8b500caf217dc..cdd7a922921a6 100644 --- a/src/core/server/http/http_service.test.ts +++ b/src/core/server/http/http_service.test.ts @@ -19,7 +19,7 @@ import { mockHttpServer } from './http_service.test.mocks'; -import { noop } from 'lodash'; +import { noop } from 'lodash4'; import { BehaviorSubject } from 'rxjs'; import { HttpService } from '.'; import { HttpConfigType, config } from './http_config'; diff --git a/src/core/server/legacy/config/__snapshots__/legacy_object_to_config_adapter.test.ts.snap b/src/core/server/legacy/config/__snapshots__/legacy_object_to_config_adapter.test.ts.snap index 3b16bed92df97..4a6d86a0dfba6 100644 --- a/src/core/server/legacy/config/__snapshots__/legacy_object_to_config_adapter.test.ts.snap +++ b/src/core/server/legacy/config/__snapshots__/legacy_object_to_config_adapter.test.ts.snap @@ -119,7 +119,10 @@ Object { exports[`#set correctly sets values for paths that do not exist. 1`] = ` Object { - "unknown": "value", + "unknown": Object { + "sub1": "sub-value-1", + "sub2": "sub-value-2", + }, } `; diff --git a/src/core/server/legacy/config/get_unused_config_keys.ts b/src/core/server/legacy/config/get_unused_config_keys.ts index 6cd193d896109..be31ba0356e7d 100644 --- a/src/core/server/legacy/config/get_unused_config_keys.ts +++ b/src/core/server/legacy/config/get_unused_config_keys.ts @@ -17,7 +17,7 @@ * under the License. */ -import { difference, get, set } from 'lodash'; +import { difference, get, set } from 'lodash4'; // @ts-ignore import { getTransform } from '../../../../legacy/deprecation/index'; import { unset } from '../../../../legacy/utils'; diff --git a/src/core/server/logging/layouts/conversions/date.ts b/src/core/server/logging/layouts/conversions/date.ts index d3ed54fb98240..5dbb5c7ed49b0 100644 --- a/src/core/server/logging/layouts/conversions/date.ts +++ b/src/core/server/logging/layouts/conversions/date.ts @@ -17,7 +17,7 @@ * under the License. */ import moment from 'moment-timezone'; -import { last } from 'lodash'; +import { last } from 'lodash4'; import { Conversion } from './type'; import { LogRecord } from '../../log_record'; diff --git a/src/core/server/plugins/discovery/plugin_manifest_parser.ts b/src/core/server/plugins/discovery/plugin_manifest_parser.ts index 27c3ca5a71e16..ac6f93ef16b03 100644 --- a/src/core/server/plugins/discovery/plugin_manifest_parser.ts +++ b/src/core/server/plugins/discovery/plugin_manifest_parser.ts @@ -21,7 +21,7 @@ import { readFile, stat } from 'fs'; import { resolve } from 'path'; import { coerce } from 'semver'; import { promisify } from 'util'; -import { snakeCase } from 'lodash'; +import { snakeCase } from 'lodash4'; import { isConfigPath, PackageInfo } from '../../config'; import { Logger } from '../../logging'; import { PluginManifest } from '../types'; diff --git a/src/core/server/saved_objects/mappings/lib/get_property.ts b/src/core/server/saved_objects/mappings/lib/get_property.ts index a31c9fe0c3ba1..0589c99b5bc0b 100644 --- a/src/core/server/saved_objects/mappings/lib/get_property.ts +++ b/src/core/server/saved_objects/mappings/lib/get_property.ts @@ -17,7 +17,7 @@ * under the License. */ -import toPath from 'lodash/internal/toPath'; +import { toPath } from 'lodash4'; import { SavedObjectsCoreFieldMapping, SavedObjectsFieldMapping, IndexMapping } from '../types'; function getPropertyMappingFromObjectMapping( diff --git a/src/core/server/saved_objects/migrations/core/build_active_mappings.ts b/src/core/server/saved_objects/migrations/core/build_active_mappings.ts index c2a7b11e057cd..9b38038f59a18 100644 --- a/src/core/server/saved_objects/migrations/core/build_active_mappings.ts +++ b/src/core/server/saved_objects/migrations/core/build_active_mappings.ts @@ -22,7 +22,7 @@ */ import crypto from 'crypto'; -import { cloneDeep, mapValues } from 'lodash'; +import { cloneDeep, mapValues } from 'lodash4'; import { IndexMapping, SavedObjectsMappingProperties, diff --git a/src/core/server/saved_objects/migrations/core/document_migrator.test.ts b/src/core/server/saved_objects/migrations/core/document_migrator.test.ts index a364710322524..bdd0b74b6f043 100644 --- a/src/core/server/saved_objects/migrations/core/document_migrator.test.ts +++ b/src/core/server/saved_objects/migrations/core/document_migrator.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectUnsanitizedDoc } from '../../serialization'; import { DocumentMigrator } from './document_migrator'; import { loggingServiceMock } from '../../../logging/logging_service.mock'; diff --git a/src/core/server/saved_objects/migrations/core/document_migrator.ts b/src/core/server/saved_objects/migrations/core/document_migrator.ts index 376f823267ebe..d5a2b7432f36b 100644 --- a/src/core/server/saved_objects/migrations/core/document_migrator.ts +++ b/src/core/server/saved_objects/migrations/core/document_migrator.ts @@ -61,8 +61,7 @@ */ import Boom from 'boom'; -import _ from 'lodash'; -import cloneDeep from 'lodash.clonedeep'; +import _ from 'lodash4'; import Semver from 'semver'; import { Logger } from '../../../logging'; import { SavedObjectUnsanitizedDoc } from '../../serialization'; @@ -151,7 +150,7 @@ export class DocumentMigrator implements VersionedTransformer { // Clone the document to prevent accidental mutations on the original data // Ex: Importing sample data that is cached at import level, migrations would // execute on mutated data the second time. - const clonedDoc = cloneDeep(doc); + const clonedDoc = _.cloneDeep(doc); return this.transformDoc(clonedDoc); }; } @@ -220,6 +219,7 @@ function buildActiveMigrations( return { ...migrations, [type.name]: { + // @ts-ignore latestVersion: _.last(transforms).version, transforms, }, diff --git a/src/core/server/saved_objects/migrations/core/elastic_index.test.ts b/src/core/server/saved_objects/migrations/core/elastic_index.test.ts index 393cbb7fbb2ae..2d104c00f32c7 100644 --- a/src/core/server/saved_objects/migrations/core/elastic_index.test.ts +++ b/src/core/server/saved_objects/migrations/core/elastic_index.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import * as Index from './elastic_index'; describe('ElasticIndex', () => { diff --git a/src/core/server/saved_objects/migrations/core/elastic_index.ts b/src/core/server/saved_objects/migrations/core/elastic_index.ts index e87c3e3ff0d64..cf8d5cb4a5f7c 100644 --- a/src/core/server/saved_objects/migrations/core/elastic_index.ts +++ b/src/core/server/saved_objects/migrations/core/elastic_index.ts @@ -22,7 +22,7 @@ * elasticsearch indices. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { IndexMapping } from '../../mappings'; import { SavedObjectsMigrationVersion } from '../../types'; import { AliasAction, CallCluster, NotFound, RawDoc, ShardsInfo } from './call_cluster'; diff --git a/src/core/server/saved_objects/migrations/core/index_migrator.test.ts b/src/core/server/saved_objects/migrations/core/index_migrator.test.ts index 392089c69f5a0..35fdeb9dcfc2e 100644 --- a/src/core/server/saved_objects/migrations/core/index_migrator.test.ts +++ b/src/core/server/saved_objects/migrations/core/index_migrator.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectUnsanitizedDoc, SavedObjectsSerializer } from '../../serialization'; import { SavedObjectTypeRegistry } from '../../saved_objects_type_registry'; import { IndexMigrator } from './index_migrator'; diff --git a/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts b/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts index e55b72be2436d..cb18b71994300 100644 --- a/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts +++ b/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectTypeRegistry } from '../../saved_objects_type_registry'; import { SavedObjectsSerializer } from '../../serialization'; import { migrateRawDocs } from './migrate_raw_docs'; diff --git a/src/core/server/saved_objects/migrations/core/migration_coordinator.test.ts b/src/core/server/saved_objects/migrations/core/migration_coordinator.test.ts index 3f2c31a7c0e5c..2d27ca7c8a29b 100644 --- a/src/core/server/saved_objects/migrations/core/migration_coordinator.test.ts +++ b/src/core/server/saved_objects/migrations/core/migration_coordinator.test.ts @@ -17,7 +17,6 @@ * under the License. */ -import _ from 'lodash'; import { coordinateMigration } from './migration_coordinator'; import { createSavedObjectsMigrationLoggerMock } from '../mocks'; diff --git a/src/core/server/saved_objects/migrations/core/migration_coordinator.ts b/src/core/server/saved_objects/migrations/core/migration_coordinator.ts index 2e32763f4e637..e2661b046ee67 100644 --- a/src/core/server/saved_objects/migrations/core/migration_coordinator.ts +++ b/src/core/server/saved_objects/migrations/core/migration_coordinator.ts @@ -34,7 +34,7 @@ * Kibana. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectsMigrationLogger } from './migration_logger'; const DEFAULT_POLL_INTERVAL = 15000; diff --git a/src/core/server/saved_objects/serialization/serializer.test.ts b/src/core/server/saved_objects/serialization/serializer.test.ts index 1a7dfdd2d130e..d89d9cb162fd7 100644 --- a/src/core/server/saved_objects/serialization/serializer.test.ts +++ b/src/core/server/saved_objects/serialization/serializer.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectsSerializer } from './serializer'; import { SavedObjectsRawDoc } from './types'; import { typeRegistryMock } from '../saved_objects_type_registry.mock'; diff --git a/src/core/server/saved_objects/service/lib/decorate_es_error.ts b/src/core/server/saved_objects/service/lib/decorate_es_error.ts index e57f08aa7a527..cc5ccc717c011 100644 --- a/src/core/server/saved_objects/service/lib/decorate_es_error.ts +++ b/src/core/server/saved_objects/service/lib/decorate_es_error.ts @@ -18,7 +18,7 @@ */ import * as legacyElasticsearch from 'elasticsearch'; -import { get } from 'lodash'; +import { get } from 'lodash4'; const { ConnectionFault, diff --git a/src/core/server/saved_objects/service/lib/filter_utils.ts b/src/core/server/saved_objects/service/lib/filter_utils.ts index 4c31f37f63dad..68a4b7cd32907 100644 --- a/src/core/server/saved_objects/service/lib/filter_utils.ts +++ b/src/core/server/saved_objects/service/lib/filter_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, set } from 'lodash'; +import { get, set } from 'lodash4'; import { SavedObjectsErrorHelpers } from './errors'; import { IndexMapping } from '../../mappings'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths diff --git a/src/core/server/saved_objects/service/lib/repository.ts b/src/core/server/saved_objects/service/lib/repository.ts index 03538f2394845..2586d05e9569d 100644 --- a/src/core/server/saved_objects/service/lib/repository.ts +++ b/src/core/server/saved_objects/service/lib/repository.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash'; +import { omit } from 'lodash4'; import uuid from 'uuid'; import { retryCallCluster } from '../../../elasticsearch/retry_call_cluster'; import { APICaller } from '../../../elasticsearch/'; @@ -1342,7 +1342,7 @@ export class SavedObjectsRepository { // method transparently to the specified namespace. private _rawToSavedObject(raw: SavedObjectsRawDoc): SavedObject { const savedObject = this._serializer.rawToSavedObject(raw); - return omit(savedObject, 'namespace'); + return omit(savedObject, 'namespace') as SavedObject; } /** diff --git a/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts b/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts index 55e32b1e3bb37..8cf79e697ffde 100644 --- a/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts +++ b/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults } from 'lodash'; +import { defaults } from 'lodash4'; import { SavedObjectsClientContract } from '../../saved_objects/types'; import { SavedObjectsErrorHelpers } from '../../saved_objects/'; diff --git a/src/core/server/ui_settings/ui_settings_client.ts b/src/core/server/ui_settings/ui_settings_client.ts index f168784a93330..1cf5516324f75 100644 --- a/src/core/server/ui_settings/ui_settings_client.ts +++ b/src/core/server/ui_settings/ui_settings_client.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { defaultsDeep, omit } from 'lodash'; +import { defaultsDeep, omit } from 'lodash4'; import { SavedObjectsErrorHelpers } from '../saved_objects'; import { SavedObjectsClientContract } from '../saved_objects/types'; diff --git a/src/core/utils/context.ts b/src/core/utils/context.ts index 941bbceb0cd92..02a6e56d900a7 100644 --- a/src/core/utils/context.ts +++ b/src/core/utils/context.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flatten } from 'lodash'; +import { flatten } from 'lodash4'; import { ShallowPromise } from '@kbn/utility-types'; import { pick } from '.'; import { CoreId, PluginOpaqueId } from '../server'; diff --git a/src/core/utils/merge.ts b/src/core/utils/merge.ts index 43878c27b1e19..d9d74152dcbd7 100644 --- a/src/core/utils/merge.ts +++ b/src/core/utils/merge.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isPlainObject } from 'lodash'; +import { isPlainObject } from 'lodash4'; /** * Deeply merges two objects, omitting undefined values, and not deeply merging Arrays. * diff --git a/src/dev/npm/integration_tests/installed_packages.test.ts b/src/dev/npm/integration_tests/installed_packages.test.ts index 58c954cbc12f7..e0cab4dedb476 100644 --- a/src/dev/npm/integration_tests/installed_packages.test.ts +++ b/src/dev/npm/integration_tests/installed_packages.test.ts @@ -19,7 +19,7 @@ import { resolve, sep } from 'path'; -import { uniq } from 'lodash'; +import { uniq } from 'lodash4'; import { getInstalledPackages, InstalledPackage } from '../installed_packages'; import { REPO_ROOT } from '../../constants'; diff --git a/src/dev/precommit_hook/casing_check_config.js b/src/dev/precommit_hook/casing_check_config.js index bc3a6265cc582..cec80dd547a53 100644 --- a/src/dev/precommit_hook/casing_check_config.js +++ b/src/dev/precommit_hook/casing_check_config.js @@ -98,7 +98,6 @@ export const IGNORE_DIRECTORY_GLOBS = [ 'packages/*', 'packages/kbn-ui-framework/generator-kui', 'src/legacy/ui/public/flot-charts', - 'src/legacy/ui/public/utils/lodash-mixins', 'test/functional/fixtures/es_archiver/visualize_source-filters', 'packages/kbn-pm/src/utils/__fixtures__/*', 'x-pack/dev-tools', diff --git a/src/dev/sass/build_sass.js b/src/dev/sass/build_sass.js index 7075bcf55adf5..a3c7093f3e656 100644 --- a/src/dev/sass/build_sass.js +++ b/src/dev/sass/build_sass.js @@ -27,7 +27,7 @@ import { findPluginSpecs } from '../../legacy/plugin_discovery'; import { collectUiExports } from '../../legacy/ui'; import { buildAll } from '../../legacy/server/sass/build_all'; import chokidar from 'chokidar'; -import debounce from 'lodash/function/debounce'; +import debounce from 'lodash4/debounce'; // TODO: clintandrewhall - Extract and use FSWatcher from legacy/server/sass const build = async ({ log, kibanaDir, styleSheetPaths, watch }) => { diff --git a/src/es_archiver/lib/__tests__/stats.ts b/src/es_archiver/lib/__tests__/stats.ts index 0ab7d161feb6e..00dbcb9e2f513 100644 --- a/src/es_archiver/lib/__tests__/stats.ts +++ b/src/es_archiver/lib/__tests__/stats.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash'; +import { uniq } from 'lodash4'; import sinon from 'sinon'; import expect from '@kbn/expect'; import { ToolingLog } from '@kbn/dev-utils'; diff --git a/src/es_archiver/lib/docs/__tests__/stubs.ts b/src/es_archiver/lib/docs/__tests__/stubs.ts index d8d961fa054ff..bc110168f0435 100644 --- a/src/es_archiver/lib/docs/__tests__/stubs.ts +++ b/src/es_archiver/lib/docs/__tests__/stubs.ts @@ -20,7 +20,7 @@ import { Client } from 'elasticsearch'; import sinon from 'sinon'; import Chance from 'chance'; -import { times } from 'lodash'; +import { times } from 'lodash4'; import { Stats } from '../../stats'; diff --git a/src/es_archiver/lib/indices/create_index_stream.ts b/src/es_archiver/lib/indices/create_index_stream.ts index df9d3bb623ad6..e096f416d43b5 100644 --- a/src/es_archiver/lib/indices/create_index_stream.ts +++ b/src/es_archiver/lib/indices/create_index_stream.ts @@ -18,7 +18,7 @@ */ import { Transform, Readable } from 'stream'; -import { get, once } from 'lodash'; +import { get, once } from 'lodash4'; import { Client } from 'elasticsearch'; import { ToolingLog } from '@kbn/dev-utils'; diff --git a/src/es_archiver/lib/indices/delete_index.ts b/src/es_archiver/lib/indices/delete_index.ts index d7ef20b072b26..5e1a84b259fa8 100644 --- a/src/es_archiver/lib/indices/delete_index.ts +++ b/src/es_archiver/lib/indices/delete_index.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { Client } from 'elasticsearch'; import { ToolingLog } from '@kbn/dev-utils'; import { Stats } from '../stats'; diff --git a/src/es_archiver/lib/stats.ts b/src/es_archiver/lib/stats.ts index c7b98c42d3efb..a9c12c9842fe4 100644 --- a/src/es_archiver/lib/stats.ts +++ b/src/es_archiver/lib/stats.ts @@ -18,7 +18,7 @@ */ import { ToolingLog } from '@kbn/dev-utils'; -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; export interface IndexStats { skipped: boolean; diff --git a/src/fixtures/agg_resp/geohash_grid.js b/src/fixtures/agg_resp/geohash_grid.js index 0e576a88ab36a..01c79e37c22e6 100644 --- a/src/fixtures/agg_resp/geohash_grid.js +++ b/src/fixtures/agg_resp/geohash_grid.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function GeoHashGridAggResponseFixture() { // for vis: // @@ -44,7 +44,7 @@ export default function GeoHashGridAggResponseFixture() { // random number of tags let docCount = 0; const buckets = _.times(_.random(40, 200), function () { - return _.sample(geoHashCharts, 3).join(''); + return _.sampleSize(geoHashCharts, 3).join(''); }) .sort() .map(function (geoHash) { diff --git a/src/fixtures/mock_state.js b/src/fixtures/mock_state.js index e78c919b5036b..f2dac448359bd 100644 --- a/src/fixtures/mock_state.js +++ b/src/fixtures/mock_state.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import sinon from 'sinon'; function MockState(defaults) { diff --git a/src/fixtures/mock_ui_state.js b/src/fixtures/mock_ui_state.js index 919274390d4d0..3cf3e3cea7c9b 100644 --- a/src/fixtures/mock_ui_state.js +++ b/src/fixtures/mock_ui_state.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; let values = {}; export default { get: function (path, def) { diff --git a/src/legacy/core_plugins/apm_oss/index.js b/src/legacy/core_plugins/apm_oss/index.js index b7ab6797c0de9..33942db0d49fc 100644 --- a/src/legacy/core_plugins/apm_oss/index.js +++ b/src/legacy/core_plugins/apm_oss/index.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function apmOss(kibana) { return new kibana.Plugin({ diff --git a/src/legacy/core_plugins/console_legacy/index.ts b/src/legacy/core_plugins/console_legacy/index.ts index c588b941112d1..e0fac123f7072 100644 --- a/src/legacy/core_plugins/console_legacy/index.ts +++ b/src/legacy/core_plugins/console_legacy/index.ts @@ -18,7 +18,7 @@ */ import { first } from 'rxjs/operators'; -import { head } from 'lodash'; +import { head } from 'lodash4'; import url from 'url'; // TODO: Remove this hack once we can get the ES config we need for Console proxy a better way. @@ -41,7 +41,7 @@ export default function (kibana: any) { uiExports: { injectDefaultVars: () => ({ elasticsearchUrl: url.format( - Object.assign(url.parse(head(_legacyEsConfig.hosts)), { auth: false }) + Object.assign(url.parse(head(_legacyEsConfig.hosts) as any), { auth: false }) ), }), }, diff --git a/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js b/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js index fc4ff512e2bd5..b3ce262fc3de7 100644 --- a/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js +++ b/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js @@ -18,7 +18,7 @@ */ import Boom from 'boom'; -import _ from 'lodash'; +import _ from 'lodash4'; import { errors as esErrors } from 'elasticsearch'; export function handleESError(error) { @@ -35,7 +35,7 @@ export function handleESError(error) { return Boom.serverUnavailable(error); } else if ( error instanceof esErrors.Conflict || - _.contains(error.message, 'index_template_already_exists') + _.includes(error.message, 'index_template_already_exists') ) { return Boom.conflict(error); } else if (error instanceof esErrors[403]) { diff --git a/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js b/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js index 504b00808718b..a57274e5e1aeb 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; import expect from '@kbn/expect'; -import _ from 'lodash'; +import _ from 'lodash4'; import ngMock from 'ng_mock'; import 'ui/private'; import { pluginInstance } from './legacy'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js b/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js index 29c301bf065c4..a39bd6e3af118 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js @@ -17,7 +17,7 @@ * under the License. */ import angular from 'angular'; -import _ from 'lodash'; +import _ from 'lodash4'; import sinon from 'sinon'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js index 88eb299e3c3a8..e5c69187b26df 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js @@ -25,7 +25,7 @@ import sinon from 'sinon'; import './legacy'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { npStart } from 'ui/new_platform'; -import { round } from 'lodash'; +import { round } from 'lodash4'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { getInnerAngular } from '../../../../../../plugins/vis_type_table/public/get_inner_angular'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js index 35c7b77687b94..5ad7f3e87dee5 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import { fromNode, delay } from 'bluebird'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js index 7a68e847f13b1..f7895b6b6d206 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import { Vis } from '../../../../../../plugins/vis_type_vislib/public/vislib/vis'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js index 6790c49691dfd..e18f3fc7c2c8f 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash4'; import expect from '@kbn/expect'; import { ChartTitle } from '../../../../../../../plugins/vis_type_vislib/public/vislib/lib/chart_title'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js index 4f8cee2651a9f..cbe67a389351e 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import expect from '@kbn/expect'; @@ -51,7 +51,7 @@ describe('Vislib Dispatch Class Test Suite', function () { }); it('implements on, off, emit methods', function () { - const events = _.pluck(vis.handler.charts, 'events'); + const events = _.map(vis.handler.charts, 'events'); expect(events.length).to.be.above(0); events.forEach(function (dispatch) { expect(dispatch).to.have.property('on'); diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js index 36decdc415ed8..92f0e86b6738b 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js index fd2240c0c64c5..ddac8b3e330af 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js index f075dff466793..3b348709d2aaa 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import $ from 'jquery'; import expect from '@kbn/expect'; @@ -267,7 +267,7 @@ describe('stackData method - data set with zeros in percentage mode', function ( expect(chart.chartData.series).to.have.length(1); const series = chart.chartData.series[0].values; // with the interval set in seriesMonthlyInterval data, the point at x=1454309600000 does not exist - const point = _.find(series, 'x', 1454309600000); + const point = _.find(series, ['x', 1454309600000]); expect(point).to.not.be(undefined); expect(point.y).to.be(0); }); @@ -279,7 +279,7 @@ describe('stackData method - data set with zeros in percentage mode', function ( const chart = vis.handler.charts[0]; expect(chart.chartData.series).to.have.length(5); const series = chart.chartData.series[0].values; - const point = _.find(series, 'x', 1415826240000); + const point = _.find(series, ['x', 1415826240000]); expect(point).to.not.be(undefined); expect(point.y).to.be(0); }); diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js index 7c588800ae659..2f7bf34af28cd 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import expect from '@kbn/expect'; import data from '../../../../../../../plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js index 9fa51fb59ed48..4786e2bfc356b 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import d3 from 'd3'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js index dae92c831cd8d..4c45baf729095 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js @@ -20,7 +20,7 @@ import d3 from 'd3'; import expect from '@kbn/expect'; import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; // Data import seriesPos from '../../../../../../../plugins/vis_type_vislib/public/fixtures/mock_data/date_histogram/_series'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js index d245905729c7e..fbaac945b2535 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js b/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js index 913ebff588f84..537a6ad88d7ec 100644 --- a/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js +++ b/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { collectReferencesDeep } from './collect_references_deep'; export async function exportDashboards(req) { diff --git a/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js b/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js index 7c28b184144f1..633e2bdf2e4fe 100644 --- a/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js +++ b/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js @@ -17,7 +17,7 @@ * under the License. */ -import { flatten } from 'lodash'; +import { flatten } from 'lodash4'; export async function importDashboards(req) { const { payload } = req; diff --git a/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js b/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js index e0a6c574b7ad8..35be2bb8bb99b 100644 --- a/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js +++ b/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js @@ -17,7 +17,7 @@ * under the License. */ -import { pick } from 'lodash'; +import { pick } from 'lodash4'; import { injectMetaAttributes } from './inject_meta_attributes'; export async function findRelationships(type, id, options = {}) { diff --git a/src/legacy/core_plugins/status_page/public/lib/load_status.js b/src/legacy/core_plugins/status_page/public/lib/load_status.js index d033e5f147d9d..5318db1378f5e 100644 --- a/src/legacy/core_plugins/status_page/public/lib/load_status.js +++ b/src/legacy/core_plugins/status_page/public/lib/load_status.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import chrome from 'ui/chrome'; import { toastNotifications } from 'ui/notify'; diff --git a/src/legacy/core_plugins/tests_bundle/find_source_files.js b/src/legacy/core_plugins/tests_bundle/find_source_files.js index eed88a5ecb8b0..abf3b4507fb96 100644 --- a/src/legacy/core_plugins/tests_bundle/find_source_files.js +++ b/src/legacy/core_plugins/tests_bundle/find_source_files.js @@ -19,7 +19,7 @@ // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { fromRoot } from '../../../core/server/utils'; -import { chain } from 'lodash'; +import { chain } from 'lodash4'; import { resolve } from 'path'; import { fromNode } from 'bluebird'; import glob from 'glob-all'; diff --git a/src/legacy/core_plugins/timelion/public/app.js b/src/legacy/core_plugins/timelion/public/app.js index b5501982cec09..68151cb21368c 100644 --- a/src/legacy/core_plugins/timelion/public/app.js +++ b/src/legacy/core_plugins/timelion/public/app.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // required for `ngSanitize` angular module import 'angular-sanitize'; @@ -427,7 +427,7 @@ app.controller('timelion', function ( const httpResult = $http .post('../api/timelion/run', { sheet: $scope.state.sheet, - time: _.extend( + time: _.assignIn( { from: timeRangeBounds.min, to: timeRangeBounds.max, diff --git a/src/legacy/core_plugins/timelion/public/directives/cells/cells.js b/src/legacy/core_plugins/timelion/public/directives/cells/cells.js index 104af3b1043d6..a782d5f00fa31 100644 --- a/src/legacy/core_plugins/timelion/public/directives/cells/cells.js +++ b/src/legacy/core_plugins/timelion/public/directives/cells/cells.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { move } from 'ui/utils/collection'; require('angular-sortable-view'); diff --git a/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js b/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js index 879fab206b99d..ce10ab4074c64 100644 --- a/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js +++ b/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import rison from 'rison-node'; import { uiModules } from 'ui/modules'; import 'ui/directives/input_focus'; @@ -165,7 +165,7 @@ module }; self.getLabel = function () { - return _.words(self.properties.nouns).map(_.capitalize).join(' '); + return _.words(self.properties.nouns).map(_.upperFirst).join(' '); }; //key handler for the filter text box diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js index f3fd2fde8f2c5..04b97a99cedc3 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js @@ -40,7 +40,7 @@ * that has more than a single consecutive newline. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import PEG from 'pegjs'; import grammar from 'raw-loader!../../../../../plugins/vis_type_timelion/common/chain.peg'; @@ -78,7 +78,7 @@ export function TimelionExpInput($http, $timeout) { function init() { $http.get('../api/timelion/functions').then(function (resp) { Object.assign(functionReference, { - byName: _.indexBy(resp.data, 'name'), + byName: _.keyBy(resp.data, 'name'), list: resp.data, }); }); diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js index 20edee82f9486..3c012eb7baee5 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export const SUGGESTION_TYPE = { ARGUMENTS: 'arguments', diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js b/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js index 25f3df13153ba..1022e51b4b129 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js @@ -20,7 +20,7 @@ import template from './timelion_help.html'; import { i18n } from '@kbn/i18n'; import { uiModules } from 'ui/modules'; -import _ from 'lodash'; +import _ from 'lodash4'; import moment from 'moment'; import '../../components/timelionhelp_tabs_directive'; diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js b/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js index 577ee984e05c6..d301bc7bb72db 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import template from './timelion_interval.html'; @@ -47,7 +47,7 @@ export function TimelionInterval($timeout) { // Only run this on initialization if (newVal !== oldVal || oldVal == null) return; - if (_.contains($scope.intervalOptions, newVal)) { + if (_.includes($scope.intervalOptions, newVal)) { $scope.interval = newVal; } else { $scope.interval = 'other'; diff --git a/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts b/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts index b1999eb4b483c..868e5271f0e43 100644 --- a/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts +++ b/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts @@ -19,7 +19,7 @@ // eslint-disable-next-line @kbn/eslint/no-restricted-paths import '../../../../../../plugins/vis_type_timelion/public/flot'; -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import moment from 'moment-timezone'; import { timefilter } from 'ui/timefilter'; @@ -346,7 +346,7 @@ export function timechartFn(dependencies: TimelionVisualizationDependencies) { } if (serie._global) { - _.merge(options, serie._global, function (objVal, srcVal) { + _.mergeWith(options, serie._global, function (objVal, srcVal) { // This is kind of gross, it means that you can't replace a global value with a null // best you can do is an empty string. Deal with it. if (objVal == null) return srcVal; diff --git a/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts b/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts index 8122259f1c991..5fd12857b17b1 100644 --- a/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts +++ b/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts @@ -22,7 +22,7 @@ import 'brace/mode/hjson'; import 'brace/ext/searchbox'; import 'ui/accessibility/kbn_ui_ace_keyboard_mode'; -import { once } from 'lodash'; +import { once } from 'lodash4'; // @ts-ignore import { uiModules } from 'ui/modules'; import { Panel } from '../panels/panel'; diff --git a/src/legacy/deprecation/create_transform.js b/src/legacy/deprecation/create_transform.js index 72e8e153ed819..94a5c6cd0805d 100644 --- a/src/legacy/deprecation/create_transform.js +++ b/src/legacy/deprecation/create_transform.js @@ -18,7 +18,7 @@ */ import { deepCloneWithBuffers as clone } from '../utils'; -import { forEach, noop } from 'lodash'; +import { forEach, noop } from 'lodash4'; export function createTransform(deprecations) { return (settings, log = noop) => { diff --git a/src/legacy/deprecation/deprecations/rename.js b/src/legacy/deprecation/deprecations/rename.js index b47a745519b1e..0f82954f081a7 100644 --- a/src/legacy/deprecation/deprecations/rename.js +++ b/src/legacy/deprecation/deprecations/rename.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, isUndefined, noop, set } from 'lodash'; +import { get, isUndefined, noop, set } from 'lodash4'; import { unset } from '../../utils'; export function rename(oldKey, newKey) { diff --git a/src/legacy/deprecation/deprecations/unused.js b/src/legacy/deprecation/deprecations/unused.js index 4291063dc482b..4eb76c3489098 100644 --- a/src/legacy/deprecation/deprecations/unused.js +++ b/src/legacy/deprecation/deprecations/unused.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, isUndefined, noop } from 'lodash'; +import { get, isUndefined, noop } from 'lodash4'; import { unset } from '../../utils'; export function unused(oldKey) { diff --git a/src/legacy/deprecation/get_transform.js b/src/legacy/deprecation/get_transform.js index bf286901af62c..93f4776a4f9b6 100644 --- a/src/legacy/deprecation/get_transform.js +++ b/src/legacy/deprecation/get_transform.js @@ -17,7 +17,7 @@ * under the License. */ -import { noop } from 'lodash'; +import { noop } from 'lodash4'; import { createTransform } from './create_transform'; import { rename, unused } from './deprecations'; diff --git a/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js b/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js index e6af23d69c549..5aa8689710999 100644 --- a/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js +++ b/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js @@ -21,7 +21,7 @@ import { resolve } from 'path'; import { toArray } from 'rxjs/operators'; import expect from '@kbn/expect'; -import { isEqual } from 'lodash'; +import { isEqual } from 'lodash4'; import { findPluginSpecs } from '../find_plugin_specs'; import { PluginSpec } from '../plugin_spec'; diff --git a/src/legacy/plugin_discovery/plugin_config/settings.js b/src/legacy/plugin_discovery/plugin_config/settings.js index 44ecb5718fe21..cf9c49003bf92 100644 --- a/src/legacy/plugin_discovery/plugin_config/settings.js +++ b/src/legacy/plugin_discovery/plugin_config/settings.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { getTransform } from '../../deprecation'; diff --git a/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js b/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js index 17da5ffca1242..28a4a29516ce1 100644 --- a/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js +++ b/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js @@ -19,8 +19,7 @@ import { resolve, basename, isAbsolute as isAbsolutePath } from 'path'; -import toPath from 'lodash/internal/toPath'; -import { get } from 'lodash'; +import { get, toPath } from 'lodash4'; import { createInvalidPluginError } from '../errors'; import { isVersionCompatible } from './is_version_compatible'; diff --git a/src/legacy/server/config/config.js b/src/legacy/server/config/config.js index d32ec29e6d701..00a1d21441f49 100644 --- a/src/legacy/server/config/config.js +++ b/src/legacy/server/config/config.js @@ -18,7 +18,7 @@ */ import Joi from 'joi'; -import _ from 'lodash'; +import _ from 'lodash4'; import { override } from './override'; import createDefaultSchema from './schema'; import { unset, deepCloneWithBuffers as clone, IS_KIBANA_DISTRIBUTABLE } from '../../utils'; diff --git a/src/legacy/server/config/config.test.js b/src/legacy/server/config/config.test.js index d7dec19b7ca6e..0a8f8d9d668c0 100644 --- a/src/legacy/server/config/config.test.js +++ b/src/legacy/server/config/config.test.js @@ -18,7 +18,7 @@ */ import { Config } from './config'; -import _ from 'lodash'; +import _ from 'lodash4'; import Joi from 'joi'; /** diff --git a/src/legacy/server/http/index.js b/src/legacy/server/http/index.js index 2d62d12dfd9f3..8d201b1cd34b2 100644 --- a/src/legacy/server/http/index.js +++ b/src/legacy/server/http/index.js @@ -18,7 +18,7 @@ */ import { format } from 'url'; -import _ from 'lodash'; +import _ from 'lodash4'; import Boom from 'boom'; import { registerHapiPlugins } from './register_hapi_plugins'; diff --git a/src/legacy/server/i18n/localization/file_integrity.ts b/src/legacy/server/i18n/localization/file_integrity.ts index a852fba4a1c5a..e88b625dc7d50 100644 --- a/src/legacy/server/i18n/localization/file_integrity.ts +++ b/src/legacy/server/i18n/localization/file_integrity.ts @@ -19,7 +19,7 @@ import { createHash } from 'crypto'; import * as fs from 'fs'; -import { zipObject } from 'lodash'; +import { zipObject } from 'lodash4'; import * as stream from 'stream'; import * as util from 'util'; @@ -33,7 +33,7 @@ export interface Integrities { export async function getIntegrityHashes(filepaths: string[]): Promise { const hashes = await Promise.all(filepaths.map(getIntegrityHash)); - return zipObject(filepaths, hashes); + return zipObject(filepaths, hashes) as Integrities; } export async function getIntegrityHash(filepath: string): Promise { diff --git a/src/legacy/server/i18n/localization/telemetry_localization_collector.ts b/src/legacy/server/i18n/localization/telemetry_localization_collector.ts index 89566dfd4ef68..4019230b888ec 100644 --- a/src/legacy/server/i18n/localization/telemetry_localization_collector.ts +++ b/src/legacy/server/i18n/localization/telemetry_localization_collector.ts @@ -18,7 +18,7 @@ */ import { i18nLoader } from '@kbn/i18n'; -import { size } from 'lodash'; +import { size } from 'lodash4'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; import { getIntegrityHashes, Integrities } from './file_integrity'; import { KIBANA_LOCALIZATION_STATS_TYPE } from '../constants'; diff --git a/src/legacy/server/kbn_server.js b/src/legacy/server/kbn_server.js index 1168d24254911..d10fb92fa3b84 100644 --- a/src/legacy/server/kbn_server.js +++ b/src/legacy/server/kbn_server.js @@ -17,7 +17,7 @@ * under the License. */ -import { constant, once, compact, flatten } from 'lodash'; +import { constant, once, compact, flatten } from 'lodash4'; import { isWorker } from 'cluster'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths diff --git a/src/legacy/server/logging/configuration.js b/src/legacy/server/logging/configuration.js index 267dc9a334de8..e075416efc449 100644 --- a/src/legacy/server/logging/configuration.js +++ b/src/legacy/server/logging/configuration.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { getLoggerStream } from './log_reporter'; export default function loggingConfiguration(config) { diff --git a/src/legacy/server/logging/log_format.js b/src/legacy/server/logging/log_format.js index 9bc1d67dd5857..5cac5cedca365 100644 --- a/src/legacy/server/logging/log_format.js +++ b/src/legacy/server/logging/log_format.js @@ -19,7 +19,7 @@ import Stream from 'stream'; import moment from 'moment-timezone'; -import { get, _ } from 'lodash'; +import { get, _ } from 'lodash4'; import queryString from 'query-string'; import numeral from '@elastic/numeral'; import chalk from 'chalk'; @@ -144,7 +144,7 @@ export default class TransformObjStream extends Stream.Transform { data.message = message || 'Unknown error (no message)'; } else if (event.error instanceof Error) { data.type = 'error'; - data.level = _.contains(event.tags, 'fatal') ? 'fatal' : 'error'; + data.level = _.includes(event.tags, 'fatal') ? 'fatal' : 'error'; data.error = serializeError(event.error); const message = get(event, 'error.message'); data.message = message || 'Unknown error object (no message)'; diff --git a/src/legacy/server/logging/log_format_string.js b/src/legacy/server/logging/log_format_string.js index 3c18aab2e3d09..9f181a1262a8e 100644 --- a/src/legacy/server/logging/log_format_string.js +++ b/src/legacy/server/logging/log_format_string.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import chalk from 'chalk'; import LogFormat from './log_format'; diff --git a/src/legacy/server/logging/log_interceptor.js b/src/legacy/server/logging/log_interceptor.js index 0754557044583..5ed9a7378f02c 100644 --- a/src/legacy/server/logging/log_interceptor.js +++ b/src/legacy/server/logging/log_interceptor.js @@ -18,7 +18,7 @@ */ import Stream from 'stream'; -import { get, isEqual } from 'lodash'; +import { get, isEqual } from 'lodash4'; const GET_CLIENT_HELLO = /GET_CLIENT_HELLO:http/; diff --git a/src/legacy/server/logging/log_with_metadata.js b/src/legacy/server/logging/log_with_metadata.js index 73e03a154907a..a170558b9c226 100644 --- a/src/legacy/server/logging/log_with_metadata.js +++ b/src/legacy/server/logging/log_with_metadata.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isPlainObject } from 'lodash'; +import { isPlainObject } from 'lodash4'; import { metadataSymbol, diff --git a/src/legacy/server/logging/rotate/log_rotator.test.ts b/src/legacy/server/logging/rotate/log_rotator.test.ts index 70842d42f5e1f..60ec51fbd2507 100644 --- a/src/legacy/server/logging/rotate/log_rotator.test.ts +++ b/src/legacy/server/logging/rotate/log_rotator.test.ts @@ -31,8 +31,8 @@ jest.mock('chokidar', () => ({ })), })); -jest.mock('lodash', () => ({ - ...require.requireActual('lodash'), +jest.mock('lodash4', () => ({ + ...require.requireActual('lodash4'), throttle: (fn: any) => fn, })); diff --git a/src/legacy/server/logging/rotate/log_rotator.ts b/src/legacy/server/logging/rotate/log_rotator.ts index 22183b2f0777a..d6072ec54b5a3 100644 --- a/src/legacy/server/logging/rotate/log_rotator.ts +++ b/src/legacy/server/logging/rotate/log_rotator.ts @@ -21,7 +21,7 @@ import * as chokidar from 'chokidar'; import { isMaster } from 'cluster'; import fs from 'fs'; import { Server } from 'hapi'; -import { throttle } from 'lodash'; +import { throttle } from 'lodash4'; import { tmpdir } from 'os'; import { basename, dirname, join, sep } from 'path'; import { Observable } from 'rxjs'; diff --git a/src/legacy/server/pid/index.js b/src/legacy/server/pid/index.js index d7b9da1292252..8e961e32719d1 100644 --- a/src/legacy/server/pid/index.js +++ b/src/legacy/server/pid/index.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import Boom from 'boom'; import Bluebird from 'bluebird'; import { unlinkSync as unlink } from 'fs'; diff --git a/src/legacy/server/plugins/lib/call_plugin_hook.js b/src/legacy/server/plugins/lib/call_plugin_hook.js index b665869f5d25f..c551f16fd8590 100644 --- a/src/legacy/server/plugins/lib/call_plugin_hook.js +++ b/src/legacy/server/plugins/lib/call_plugin_hook.js @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash'; +import { last } from 'lodash4'; export async function callPluginHook(hookName, plugins, id, history) { const plugin = plugins.find((plugin) => plugin.id === id); diff --git a/src/legacy/server/plugins/lib/plugin.js b/src/legacy/server/plugins/lib/plugin.js index 2b392d13d595a..ace1926219e56 100644 --- a/src/legacy/server/plugins/lib/plugin.js +++ b/src/legacy/server/plugins/lib/plugin.js @@ -17,7 +17,7 @@ * under the License. */ -import { once } from 'lodash'; +import { once } from 'lodash4'; /** * The server plugin class, used to extend the server diff --git a/src/legacy/server/status/index.js b/src/legacy/server/status/index.js index 377a5d74610a9..cd509a2eff951 100644 --- a/src/legacy/server/status/index.js +++ b/src/legacy/server/status/index.js @@ -21,7 +21,7 @@ import ServerStatus from './server_status'; import { Metrics } from './lib/metrics'; import { registerStatusPage, registerStatusApi, registerStatsApi } from './routes'; import Oppsy from 'oppsy'; -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { getOSInfo } from './lib/get_os_info'; export function statusMixin(kbnServer, server, config) { diff --git a/src/legacy/server/status/lib/case_conversion.ts b/src/legacy/server/status/lib/case_conversion.ts index a3ae15028daeb..9a574c28e963f 100644 --- a/src/legacy/server/status/lib/case_conversion.ts +++ b/src/legacy/server/status/lib/case_conversion.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapKeys, snakeCase } from 'lodash'; +import { mapKeys, snakeCase } from 'lodash4'; export function keysToSnakeCaseShallow(object: Record) { return mapKeys(object, (value, key) => snakeCase(key)); diff --git a/src/legacy/server/status/lib/get_kibana_info_for_stats.js b/src/legacy/server/status/lib/get_kibana_info_for_stats.js index 62628a2c40ff9..db48c2e8d9e03 100644 --- a/src/legacy/server/status/lib/get_kibana_info_for_stats.js +++ b/src/legacy/server/status/lib/get_kibana_info_for_stats.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; const snapshotRegex = /-snapshot/i; diff --git a/src/legacy/server/status/lib/metrics.js b/src/legacy/server/status/lib/metrics.js index 2631b245e72ab..1bd907ea92ffd 100644 --- a/src/legacy/server/status/lib/metrics.js +++ b/src/legacy/server/status/lib/metrics.js @@ -19,7 +19,7 @@ import os from 'os'; import v8 from 'v8'; -import { get, isObject, merge } from 'lodash'; +import { get, isObject, merge } from 'lodash4'; import { keysToSnakeCaseShallow } from './case_conversion'; import { getAllStats as cGroupStats } from './cgroup'; import { getOSInfo } from './get_os_info'; diff --git a/src/legacy/server/status/lib/metrics.test.js b/src/legacy/server/status/lib/metrics.test.js index 6a734941eb70c..b53519d043e46 100644 --- a/src/legacy/server/status/lib/metrics.test.js +++ b/src/legacy/server/status/lib/metrics.test.js @@ -35,7 +35,7 @@ jest.mock('process', () => ({ import fs from 'fs'; import os from 'os'; -import _ from 'lodash'; +import _ from 'lodash4'; import sinon from 'sinon'; import { cGroups as cGroupsFsStub, setMockFiles, readFileMock } from './__mocks__/_fs_stubs'; import { Metrics } from './metrics'; diff --git a/src/legacy/server/status/samples.js b/src/legacy/server/status/samples.js index 9c41e29945a77..772faf47eb6a3 100644 --- a/src/legacy/server/status/samples.js +++ b/src/legacy/server/status/samples.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; function Samples(max) { this.vals = {}; diff --git a/src/legacy/server/status/server_status.js b/src/legacy/server/status/server_status.js index 3ee4d37d0b823..7b59f719e99a2 100644 --- a/src/legacy/server/status/server_status.js +++ b/src/legacy/server/status/server_status.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import * as states from './states'; import Status from './status'; @@ -81,7 +81,7 @@ export default class ServerStatus { // reduce to the state with the highest severity, defaulting to green .reduce((a, b) => (a.severity > b.severity ? a : b), states.get('green')); - const statuses = _.where(this._created, { state: state.id }); + const statuses = _.filter(this._created, { state: state.id }); const since = _.get(_.sortBy(statuses, 'since'), [0, 'since']); return { diff --git a/src/legacy/server/status/server_status.test.js b/src/legacy/server/status/server_status.test.js index bf94d693b1310..7f13d843665bd 100644 --- a/src/legacy/server/status/server_status.test.js +++ b/src/legacy/server/status/server_status.test.js @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash'; +import { find } from 'lodash4'; import sinon from 'sinon'; import * as states from './states'; diff --git a/src/legacy/server/status/states.js b/src/legacy/server/status/states.js index bf05f45ff856c..71fe88a15ffba 100644 --- a/src/legacy/server/status/states.js +++ b/src/legacy/server/status/states.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; export const getAll = () => [ @@ -73,7 +73,7 @@ export const getAll = () => [ }, ]; -export const getAllById = () => _.indexBy(exports.getAll(), 'id'); +export const getAllById = () => _.keyBy(exports.getAll(), 'id'); export const defaults = { icon: 'question', diff --git a/src/legacy/server/status/wrap_auth_config.js b/src/legacy/server/status/wrap_auth_config.js index 04e71a02d30de..1b5f1749cc362 100644 --- a/src/legacy/server/status/wrap_auth_config.js +++ b/src/legacy/server/status/wrap_auth_config.js @@ -17,7 +17,7 @@ * under the License. */ -import { assign, identity } from 'lodash'; +import { assign, identity } from 'lodash4'; export const wrapAuthConfig = (allowAnonymous) => { if (allowAnonymous) { diff --git a/src/legacy/ui/public/__tests__/events.js b/src/legacy/ui/public/__tests__/events.js index c225c2a8ac1c0..0564a08c28eb9 100644 --- a/src/legacy/ui/public/__tests__/events.js +++ b/src/legacy/ui/public/__tests__/events.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import sinon from 'sinon'; import ngMock from 'ng_mock'; import { EventsProvider } from '../events'; diff --git a/src/legacy/ui/public/bound_to_config_obj.js b/src/legacy/ui/public/bound_to_config_obj.js index dc1eedebe2b77..71e0bd953bc26 100644 --- a/src/legacy/ui/public/bound_to_config_obj.js +++ b/src/legacy/ui/public/bound_to_config_obj.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function BoundToConfigObjProvider(config) { /** diff --git a/src/legacy/ui/public/chrome/__mocks__/index.js b/src/legacy/ui/public/chrome/__mocks__/index.js index d6f0df83a0e3d..f127c4fc6af90 100644 --- a/src/legacy/ui/public/chrome/__mocks__/index.js +++ b/src/legacy/ui/public/chrome/__mocks__/index.js @@ -42,7 +42,7 @@ const chrome = { export default chrome; // Copied from `src/legacy/ui/public/chrome/chrome.js` -import _ from 'lodash'; +import _ from 'lodash4'; import angular from 'angular'; import { metadata } from '../../metadata'; diff --git a/src/legacy/ui/public/chrome/api/__tests__/angular.js b/src/legacy/ui/public/chrome/api/__tests__/angular.js index 797498a24265e..a09cc5920e907 100644 --- a/src/legacy/ui/public/chrome/api/__tests__/angular.js +++ b/src/legacy/ui/public/chrome/api/__tests__/angular.js @@ -18,7 +18,7 @@ */ import { initAngularApi } from '../angular'; -import { noop } from 'lodash'; +import { noop } from 'lodash4'; describe('Chrome API :: Angular', () => { describe('location helper methods', () => { diff --git a/src/legacy/ui/public/chrome/api/apps.js b/src/legacy/ui/public/chrome/api/apps.js index c4cbe7be6f1c3..97cd34517029b 100644 --- a/src/legacy/ui/public/chrome/api/apps.js +++ b/src/legacy/ui/public/chrome/api/apps.js @@ -17,7 +17,7 @@ * under the License. */ -import { clone, get } from 'lodash'; +import { clone, get } from 'lodash4'; import { resolve } from 'url'; // eslint-disable-next-line import/no-default-export diff --git a/src/legacy/ui/public/chrome/api/injected_vars.ts b/src/legacy/ui/public/chrome/api/injected_vars.ts index a827c1bf65f51..b3c6697d7c864 100644 --- a/src/legacy/ui/public/chrome/api/injected_vars.ts +++ b/src/legacy/ui/public/chrome/api/injected_vars.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { npSetup } from 'ui/new_platform'; const newPlatformInjectedVars = npSetup.core.injectedMetadata; diff --git a/src/legacy/ui/public/chrome/chrome.js b/src/legacy/ui/public/chrome/chrome.js index 0640017f7806a..e6ead16ab1baf 100644 --- a/src/legacy/ui/public/chrome/chrome.js +++ b/src/legacy/ui/public/chrome/chrome.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import angular from 'angular'; import { metadata } from '../metadata'; diff --git a/src/legacy/ui/public/config/config.js b/src/legacy/ui/public/config/config.js index a8f24c126caff..abe7b285d670d 100644 --- a/src/legacy/ui/public/config/config.js +++ b/src/legacy/ui/public/config/config.js @@ -20,7 +20,7 @@ import angular from 'angular'; import { fatalError } from 'ui/notify/fatal_error'; import chrome from '../chrome'; -import { isPlainObject } from 'lodash'; +import { isPlainObject } from 'lodash4'; import { uiModules } from '../modules'; import { subscribeWithScope } from '../../../../plugins/kibana_legacy/public'; diff --git a/src/legacy/ui/public/directives/kbn_href.js b/src/legacy/ui/public/directives/kbn_href.js index 5c71396e6c4de..f82341121c9bb 100644 --- a/src/legacy/ui/public/directives/kbn_href.js +++ b/src/legacy/ui/public/directives/kbn_href.js @@ -18,7 +18,7 @@ */ import { uiModules } from '../modules'; -import { words, kebabCase } from 'lodash'; +import { words, kebabCase } from 'lodash4'; export function kbnUrlDirective(name) { const attr = kebabCase(words(name).slice(1)); diff --git a/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js b/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js index 09948bda96b9f..ba31cbedf2f09 100644 --- a/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js +++ b/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn, noop } from 'lodash'; +import { forOwn, noop } from 'lodash4'; import '../../directives/bind'; diff --git a/src/legacy/ui/public/directives/render_directive/render_directive.js b/src/legacy/ui/public/directives/render_directive/render_directive.js index a5232f39b82c3..00eb3969616d2 100644 --- a/src/legacy/ui/public/directives/render_directive/render_directive.js +++ b/src/legacy/ui/public/directives/render_directive/render_directive.js @@ -17,7 +17,7 @@ * under the License. */ -import { isPlainObject } from 'lodash'; +import { isPlainObject } from 'lodash4'; import { uiModules } from '../../modules'; import { ApplyScopeBindingsProvider } from './apply_scope_bindings'; diff --git a/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js b/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js index 0de41a5ae57cb..e3c63c897e17b 100644 --- a/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js +++ b/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import ngMock from 'ng_mock'; import expect from '@kbn/expect'; import sinon from 'sinon'; diff --git a/src/legacy/ui/public/doc_title/doc_title.js b/src/legacy/ui/public/doc_title/doc_title.js index 096e49e7a6de8..ec60bcc34209a 100644 --- a/src/legacy/ui/public/doc_title/doc_title.js +++ b/src/legacy/ui/public/doc_title/doc_title.js @@ -17,7 +17,7 @@ * under the License. */ -import { isArray } from 'lodash'; +import { isArray } from 'lodash4'; import { uiModules } from '../modules'; import { npStart } from '../new_platform'; diff --git a/src/legacy/ui/public/documentation_links/get_doc_link.ts b/src/legacy/ui/public/documentation_links/get_doc_link.ts index 7d0d8033e3a5f..b9cb5d0aecae4 100644 --- a/src/legacy/ui/public/documentation_links/get_doc_link.ts +++ b/src/legacy/ui/public/documentation_links/get_doc_link.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { documentationLinks } from './documentation_links'; export const getDocLink = (id: string): string | undefined => get(documentationLinks, id); diff --git a/src/legacy/ui/public/events.js b/src/legacy/ui/public/events.js index 1dc8a71afb193..120ed0878c750 100644 --- a/src/legacy/ui/public/events.js +++ b/src/legacy/ui/public/events.js @@ -23,7 +23,7 @@ * @extends EventEmitter */ -import _ from 'lodash'; +import _ from 'lodash4'; import { EventEmitter } from 'events'; import { fatalError } from './notify'; import { createLegacyClass } from './utils/legacy_class'; @@ -107,7 +107,7 @@ export function EventsProvider(Promise) { */ Events.prototype.emit = function (name) { const self = this; - const args = _.rest(arguments); + const args = _.tail(arguments); if (!self._listeners[name]) { return self._emitChain; @@ -131,7 +131,7 @@ export function EventsProvider(Promise) { * @return {array[function]} */ Events.prototype.listeners = function (name) { - return _.pluck(this._listeners[name], 'handler'); + return _.map(this._listeners[name], 'handler'); }; return Events; diff --git a/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js b/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js index a8abbba9df433..a2fd4ec7ef127 100644 --- a/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js +++ b/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import expect from '@kbn/expect'; import { IndexedArray } from '..'; @@ -30,8 +30,8 @@ const users = [ ]; // this is how we used to accomplish this, before IndexedArray -users.byName = _.indexBy(users, 'name'); -users.byUsername = _.indexBy(users, 'username'); +users.byName = _.keyBy(users, 'name'); +users.byUsername = _.keyBy(users, 'username'); users.byGroup = _.groupBy(users, 'group'); users.inIdOrder = _.sortBy(users, 'id'); @@ -54,7 +54,7 @@ describe('IndexedArray', function () { }); it('clones to an object', function () { - expect(_.isPlainObject(_.clone(reg))).to.be(true); + expect(_.isObject(_.clone(reg))).to.be(true); expect(Array.isArray(_.clone(reg))).to.be(false); }); }); @@ -140,7 +140,7 @@ describe('IndexedArray', function () { reg.remove({ name: 'John' }); - expect(_.eq(reg.raw, reg.slice(0))).to.be(true); + expect(_.isEqual(reg.raw, reg.slice(0))).to.be(true); expect(reg.length).to.be(3); expect(reg[0].name).to.be('Anon'); }); diff --git a/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts b/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts index fc4ca8469382a..a61ff68e8e673 100644 --- a/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts +++ b/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { groupBy } from 'lodash'; +import { groupBy } from 'lodash4'; import { organizeBy } from './organize_by'; describe('organizeBy', () => { diff --git a/src/legacy/ui/public/indexed_array/helpers/organize_by.ts b/src/legacy/ui/public/indexed_array/helpers/organize_by.ts index e923767c892cd..bd69741889586 100644 --- a/src/legacy/ui/public/indexed_array/helpers/organize_by.ts +++ b/src/legacy/ui/public/indexed_array/helpers/organize_by.ts @@ -17,7 +17,7 @@ * under the License. */ -import { each, isFunction } from 'lodash'; +import { each, isFunction } from 'lodash4'; /** * Like _.groupBy, but allows specifying multiple groups for a diff --git a/src/legacy/ui/public/indexed_array/index.d.ts b/src/legacy/ui/public/indexed_array/index.d.ts index 21c0a818731ac..f67ac599f7381 100644 --- a/src/legacy/ui/public/indexed_array/index.d.ts +++ b/src/legacy/ui/public/indexed_array/index.d.ts @@ -17,7 +17,7 @@ * under the License. */ -import { ListIterator } from 'lodash'; +import { ListIterator } from 'lodash4'; interface IndexedArrayConfig { index?: string[]; diff --git a/src/legacy/ui/public/indexed_array/indexed_array.js b/src/legacy/ui/public/indexed_array/indexed_array.js index 79ef5e8c183da..d944424b5eb2f 100644 --- a/src/legacy/ui/public/indexed_array/indexed_array.js +++ b/src/legacy/ui/public/indexed_array/indexed_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { inflector } from './inflector'; import { organizeBy } from './helpers/organize_by'; @@ -52,7 +52,7 @@ export class IndexedArray { this._indexNames = _.union( this._setupIndex(config.group, inflectIndex, organizeByIndexedArray(config)), - this._setupIndex(config.index, inflectIndex, _.indexBy), + this._setupIndex(config.index, inflectIndex, _.keyBy), this._setupIndex(config.order, inflectOrder, (raw, pluckValue) => { return [...raw].sort((itemA, itemB) => { const a = pluckValue(itemA); diff --git a/src/legacy/ui/public/kfetch/kfetch.ts b/src/legacy/ui/public/kfetch/kfetch.ts index 4eb7149931575..e9d633eeb1f70 100644 --- a/src/legacy/ui/public/kfetch/kfetch.ts +++ b/src/legacy/ui/public/kfetch/kfetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { merge } from 'lodash'; +import { merge } from 'lodash4'; // @ts-ignore not really worth typing import { KFetchError } from './kfetch_error'; diff --git a/src/legacy/ui/public/modules.js b/src/legacy/ui/public/modules.js index bb1c8aead1c34..11e6ce4f7290f 100644 --- a/src/legacy/ui/public/modules.js +++ b/src/legacy/ui/public/modules.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; -import _ from 'lodash'; +import _ from 'lodash4'; /** * This module is used by Kibana to create and reuse angular modules. Angular modules * can only be created once and need to have their dependencies at creation. This is diff --git a/src/legacy/ui/public/new_platform/set_services.ts b/src/legacy/ui/public/new_platform/set_services.ts index ee92eda064aa8..c225879f680d4 100644 --- a/src/legacy/ui/public/new_platform/set_services.ts +++ b/src/legacy/ui/public/new_platform/set_services.ts @@ -17,7 +17,7 @@ * under the License. */ -import { pick } from 'lodash'; +import { pick } from 'lodash4'; import { PluginsSetup, PluginsStart } from './new_platform'; import { LegacyCoreSetup, LegacyCoreStart } from '../../../../core/public'; diff --git a/src/legacy/ui/public/registry/_registry.js b/src/legacy/ui/public/registry/_registry.js index 85aa1d9f2eca8..245ca5372a11e 100644 --- a/src/legacy/ui/public/registry/_registry.js +++ b/src/legacy/ui/public/registry/_registry.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { IndexedArray } from '../indexed_array'; const notPropsOptNames = IndexedArray.OPT_NAMES.concat('constructor', 'invokeProviders'); diff --git a/src/legacy/ui/public/routes/__tests__/_route_manager.js b/src/legacy/ui/public/routes/__tests__/_route_manager.js index 51bde8b8605ac..c48f6505a55a7 100644 --- a/src/legacy/ui/public/routes/__tests__/_route_manager.js +++ b/src/legacy/ui/public/routes/__tests__/_route_manager.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import ngMock from 'ng_mock'; import sinon from 'sinon'; import RouteManager from '../route_manager'; @@ -46,7 +46,7 @@ describe('routes/route_manager', function () { }) ); - it('should have chainable methods: ' + _.pluck(chainableMethods, 'name').join(', '), function () { + it('should have chainable methods: ' + _.map(chainableMethods, 'name').join(', '), function () { chainableMethods.forEach(function (meth) { expect(routes[meth.name].apply(routes, _.clone(meth.args))).to.be(routes); }); diff --git a/src/legacy/ui/public/routes/__tests__/_work_queue.js b/src/legacy/ui/public/routes/__tests__/_work_queue.js index 72891f7321fbd..8440e7666fd2f 100644 --- a/src/legacy/ui/public/routes/__tests__/_work_queue.js +++ b/src/legacy/ui/public/routes/__tests__/_work_queue.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; import { WorkQueue } from '../work_queue'; diff --git a/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js b/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js index 8ae85fce591a1..81fa612b3dd11 100644 --- a/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js +++ b/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js @@ -21,7 +21,7 @@ import RouteManager from '../route_manager'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; -import _ from 'lodash'; +import _ from 'lodash4'; import '../../private'; let routes; diff --git a/src/legacy/ui/public/routes/breadcrumbs.js b/src/legacy/ui/public/routes/breadcrumbs.js index 7917ffbd7c6e6..9080f98d41ae7 100644 --- a/src/legacy/ui/public/routes/breadcrumbs.js +++ b/src/legacy/ui/public/routes/breadcrumbs.js @@ -17,7 +17,7 @@ * under the License. */ -import { trim, startCase } from 'lodash'; +import { trim, startCase } from 'lodash4'; /** * Take a path (from $location.path() usually) and parse diff --git a/src/legacy/ui/public/routes/route_manager.js b/src/legacy/ui/public/routes/route_manager.js index de8a541d1c50a..96dd25e853144 100644 --- a/src/legacy/ui/public/routes/route_manager.js +++ b/src/legacy/ui/public/routes/route_manager.js @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, defaultsDeep, wrap } from 'lodash'; +import { cloneDeep, defaultsDeep, wrap } from 'lodash4'; import { wrapRouteWithPrep } from './wrap_route_with_prep'; import { RouteSetupManager } from './route_setup_manager'; diff --git a/src/legacy/ui/public/routes/route_setup_manager.js b/src/legacy/ui/public/routes/route_setup_manager.js index a7a2f078f40fb..4ac58c2e30f0c 100644 --- a/src/legacy/ui/public/routes/route_setup_manager.js +++ b/src/legacy/ui/public/routes/route_setup_manager.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { createDefer } from 'ui/promises'; // Throw this inside of an Angular route resolver after calling `kbnUrl.change` diff --git a/src/legacy/ui/public/routes/wrap_route_with_prep.js b/src/legacy/ui/public/routes/wrap_route_with_prep.js index e9ed33148d9ac..67750a2c7f368 100644 --- a/src/legacy/ui/public/routes/wrap_route_with_prep.js +++ b/src/legacy/ui/public/routes/wrap_route_with_prep.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; -import _ from 'lodash'; +import _ from 'lodash4'; import { createDefer } from 'ui/promises'; import { WorkQueue } from './work_queue'; diff --git a/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js b/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js index dc00d4e05e82f..6e0903b29bad9 100644 --- a/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js +++ b/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js @@ -20,7 +20,7 @@ import expect from '@kbn/expect'; import sinon from 'sinon'; import { EventEmitter } from 'events'; -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { stateMonitorFactory } from '../state_monitor_factory'; describe('stateMonitorFactory', function () { diff --git a/src/legacy/ui/public/state_management/state.js b/src/legacy/ui/public/state_management/state.js index 93428e9f8fa4e..ad11df640bc48 100644 --- a/src/legacy/ui/public/state_management/state.js +++ b/src/legacy/ui/public/state_management/state.js @@ -25,7 +25,7 @@ * @description Persists generic "state" to and reads it from the URL. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import angular from 'angular'; import rison from 'rison-node'; @@ -341,7 +341,7 @@ export function StateProvider( * @return {object} */ State.prototype.toObject = function () { - return _.omit(this, (value, key) => { + return _.omitBy(this, (value, key) => { return key.charAt(0) === '$' || key.charAt(0) === '_' || _.isFunction(value); }); }; diff --git a/src/legacy/ui/public/state_management/state_monitor_factory.ts b/src/legacy/ui/public/state_management/state_monitor_factory.ts index 454fefd4f8253..949382d792e35 100644 --- a/src/legacy/ui/public/state_management/state_monitor_factory.ts +++ b/src/legacy/ui/public/state_management/state_monitor_factory.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { cloneDeep, isEqual, isPlainObject, set } from 'lodash'; +import { cloneDeep, isEqual, isPlainObject, set } from 'lodash4'; import { State } from './state'; export const stateMonitorFactory = { diff --git a/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js b/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js index fce1876162387..0362d23f14167 100644 --- a/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js +++ b/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js @@ -17,7 +17,7 @@ * under the License. */ -import { uniq, defaults } from 'lodash'; +import { uniq, defaults } from 'lodash4'; import { findTestBundleUrl } from './find_test_bundle_url'; import { getShardingParamsFromUrl } from './get_sharding_params_from_url'; diff --git a/src/legacy/ui/public/timefilter/setup_router.ts b/src/legacy/ui/public/timefilter/setup_router.ts index 7c25c6aa3166e..9416d0d70c050 100644 --- a/src/legacy/ui/public/timefilter/setup_router.ts +++ b/src/legacy/ui/public/timefilter/setup_router.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { IScope } from 'angular'; import moment from 'moment'; import chrome from 'ui/chrome'; diff --git a/src/legacy/ui/public/url/__tests__/url.js b/src/legacy/ui/public/url/__tests__/url.js index 8b173482e1bb4..45902a1a5a6d5 100644 --- a/src/legacy/ui/public/url/__tests__/url.js +++ b/src/legacy/ui/public/url/__tests__/url.js @@ -21,7 +21,7 @@ import sinon from 'sinon'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; import faker from 'faker'; -import _ from 'lodash'; +import _ from 'lodash4'; import { AppStateProvider } from '../../state_management/app_state'; import '..'; diff --git a/src/legacy/ui/public/url/prepend_path.ts b/src/legacy/ui/public/url/prepend_path.ts index b8a77d5c23bee..b7bfa0ba618c6 100644 --- a/src/legacy/ui/public/url/prepend_path.ts +++ b/src/legacy/ui/public/url/prepend_path.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString } from 'lodash'; +import { isString } from 'lodash4'; import { format, parse } from 'url'; /** diff --git a/src/legacy/ui/public/url/url.js b/src/legacy/ui/public/url/url.js index fb243b02e05c7..8dbdbd41218fa 100644 --- a/src/legacy/ui/public/url/url.js +++ b/src/legacy/ui/public/url/url.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { uiModules } from '../modules'; import { AppStateProvider } from '../state_management/app_state'; diff --git a/src/legacy/ui/public/utils/collection.ts b/src/legacy/ui/public/utils/collection.ts index 45e5a0704c37b..85fc1b4733ccc 100644 --- a/src/legacy/ui/public/utils/collection.ts +++ b/src/legacy/ui/public/utils/collection.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; /** * move an obj either up or down in the collection by @@ -50,7 +50,7 @@ export function move( } below = !!below; - qualifier = qualifier && _.callback(qualifier); + qualifier = qualifier && _.iteratee(qualifier); const above = !below; const finder = below ? _.findIndex : _.findLastIndex; diff --git a/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js b/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js index 3f3ff8b97999c..7872cb59541e1 100644 --- a/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js +++ b/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js @@ -19,7 +19,7 @@ import { isAbsolute } from 'path'; -import { escapeRegExp } from 'lodash'; +import { escapeRegExp } from 'lodash4'; import { flatConcatAtType, mergeAtType } from './reduce'; import { alias, wrap, uniqueKeys, mapSpec } from './modify_reduce'; diff --git a/src/legacy/utils/deep_clone_with_buffers.ts b/src/legacy/utils/deep_clone_with_buffers.ts index 2e9120eb32b7c..ffb8819cea6a5 100644 --- a/src/legacy/utils/deep_clone_with_buffers.ts +++ b/src/legacy/utils/deep_clone_with_buffers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeepWith } from 'lodash4'; // We should add `any` return type to overcome bug in lodash types, customizer // in lodash 3.* can return `undefined` if cloning is handled by the lodash, but @@ -29,5 +29,5 @@ function cloneBuffersCustomizer(val: unknown): any { } export function deepCloneWithBuffers(val: T): T { - return cloneDeep(val, cloneBuffersCustomizer); + return cloneDeepWith(val, cloneBuffersCustomizer); } diff --git a/src/legacy/utils/unset.js b/src/legacy/utils/unset.js index 8b4cc0a7be1cd..5872cbb948ff3 100644 --- a/src/legacy/utils/unset.js +++ b/src/legacy/utils/unset.js @@ -17,12 +17,11 @@ * under the License. */ -import _ from 'lodash'; -import toPath from 'lodash/internal/toPath'; +import _ from 'lodash4'; export function unset(object, rawPath) { if (!object) return; - const path = toPath(rawPath); + const path = _.toPath(rawPath); switch (path.length) { case 0: diff --git a/src/optimize/dynamic_dll_plugin/dll_compiler.js b/src/optimize/dynamic_dll_plugin/dll_compiler.js index 9ab21ee0e9076..64dc75e1aca34 100644 --- a/src/optimize/dynamic_dll_plugin/dll_compiler.js +++ b/src/optimize/dynamic_dll_plugin/dll_compiler.js @@ -35,7 +35,7 @@ import webpack from 'webpack'; import { promisify } from 'util'; import path from 'path'; import del from 'del'; -import { chunk } from 'lodash'; +import { chunk } from 'lodash4'; import seedrandom from 'seedrandom'; const readFileAsync = promisify(fs.readFile); diff --git a/src/optimize/watch/proxy_role.js b/src/optimize/watch/proxy_role.js index ce2d63aa2eff0..e3dfc31211e67 100644 --- a/src/optimize/watch/proxy_role.js +++ b/src/optimize/watch/proxy_role.js @@ -19,7 +19,7 @@ import { createProxyBundlesRoute } from '../bundles_route'; import { fromNode } from 'bluebird'; -import { get, once } from 'lodash'; +import { get, once } from 'lodash4'; export default (kbnServer, server, config) => { server.route( diff --git a/src/plugins/advanced_settings/public/management_app/components/form/form.tsx b/src/plugins/advanced_settings/public/management_app/components/form/form.tsx index 142ea06c7dce4..32248a37f3c9e 100644 --- a/src/plugins/advanced_settings/public/management_app/components/form/form.tsx +++ b/src/plugins/advanced_settings/public/management_app/components/form/form.tsx @@ -35,7 +35,7 @@ import { EuiButtonEmpty, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { isEmpty } from 'lodash'; +import { isEmpty } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { toMountPoint } from '../../../../../kibana_react/public'; import { DocLinksStart, ToastsStart } from '../../../../../../core/public'; diff --git a/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts b/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts index c33ac6abafb54..6529a9d05674f 100644 --- a/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts +++ b/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts @@ -17,7 +17,7 @@ * under the License. */ -import { words } from 'lodash'; +import { words } from 'lodash4'; /** * @name {string} the name of the configuration object diff --git a/src/plugins/charts/public/services/colors/color_palette.ts b/src/plugins/charts/public/services/colors/color_palette.ts index 464e9e3a66101..986fe074a7f16 100644 --- a/src/plugins/charts/public/services/colors/color_palette.ts +++ b/src/plugins/charts/public/services/colors/color_palette.ts @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash4'; import { seedColors } from './seed_colors'; diff --git a/src/plugins/charts/public/services/colors/colors.ts b/src/plugins/charts/public/services/colors/colors.ts index 7a1ffc433ee87..3ec5276ba7a8a 100644 --- a/src/plugins/charts/public/services/colors/colors.ts +++ b/src/plugins/charts/public/services/colors/colors.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { CoreSetup } from 'kibana/public'; diff --git a/src/plugins/charts/public/services/colors/mapped_colors.test.ts b/src/plugins/charts/public/services/colors/mapped_colors.test.ts index 2c9f37afc14c5..77f00dda5fea5 100644 --- a/src/plugins/charts/public/services/colors/mapped_colors.test.ts +++ b/src/plugins/charts/public/services/colors/mapped_colors.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import { coreMock } from '../../../../../core/public/mocks'; @@ -61,7 +61,7 @@ describe('Mapped Colors', () => { mappedColors.mapKeys(arr); const colorValues = _(mappedColors.mapping).values(); - expect(colorValues.contains(seedColors[0])).toBe(false); + expect(colorValues.includes(seedColors[0])).toBe(false); expect(colorValues.uniq().size()).toBe(arr.length); }); diff --git a/src/plugins/charts/public/services/colors/mapped_colors.ts b/src/plugins/charts/public/services/colors/mapped_colors.ts index fe0deac734e6b..2fd90f2b8dfc9 100644 --- a/src/plugins/charts/public/services/colors/mapped_colors.ts +++ b/src/plugins/charts/public/services/colors/mapped_colors.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import { CoreSetup } from 'kibana/public'; @@ -54,7 +54,7 @@ export class MappedColors { } get(key: string | number) { - return this.getConfigColorMapping()[key] || this._mapping[key]; + return this.getConfigColorMapping()[key as any] || this._mapping[key]; } flush() { @@ -75,10 +75,10 @@ export class MappedColors { const keysToMap: Array = []; _.each(keys, (key) => { // If this key is mapped in the config, it's unnecessary to have it mapped here - if (configMapping[key]) delete this._mapping[key]; + if (configMapping[key as any]) delete this._mapping[key]; // If this key is mapped to a color used by the config color mapping, we need to remap it - if (_.contains(configColors, this._mapping[key])) keysToMap.push(key); + if (_.includes(configColors, this._mapping[key])) keysToMap.push(key); // if key exist in oldMap, move it to mapping if (this._oldMap[key]) this._mapping[key] = this._oldMap[key]; @@ -93,7 +93,7 @@ export class MappedColors { let newColors = _.difference(colorPalette, allColors); while (keysToMap.length > newColors.length) { - newColors = newColors.concat(_.sample(allColors, keysToMap.length - newColors.length)); + newColors = newColors.concat(_.sampleSize(allColors, keysToMap.length - newColors.length)); } _.merge(this._mapping, _.zipObject(keysToMap, newColors)); diff --git a/src/plugins/charts/public/static/color_maps/heatmap_color.ts b/src/plugins/charts/public/static/color_maps/heatmap_color.ts index 9c3067fd8d6ac..6674e5945654e 100644 --- a/src/plugins/charts/public/static/color_maps/heatmap_color.ts +++ b/src/plugins/charts/public/static/color_maps/heatmap_color.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { vislibColorMaps, RawColorSchema } from './color_maps'; diff --git a/src/plugins/charts/public/static/components/color_ranges.tsx b/src/plugins/charts/public/static/components/color_ranges.tsx index a9b05d7d91c7c..2eeb9721351ae 100644 --- a/src/plugins/charts/public/static/components/color_ranges.tsx +++ b/src/plugins/charts/public/static/components/color_ranges.tsx @@ -18,7 +18,7 @@ */ import React, { useCallback } from 'react'; -import { last } from 'lodash'; +import { last } from 'lodash4'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/console/public/application/components/settings_modal.tsx b/src/plugins/console/public/application/components/settings_modal.tsx index 377e739a0c59a..96130b5c5c4af 100644 --- a/src/plugins/console/public/application/components/settings_modal.tsx +++ b/src/plugins/console/public/application/components/settings_modal.tsx @@ -17,6 +17,7 @@ * under the License. */ +import _ from 'lodash4'; import React, { Fragment, useState } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/src/plugins/console/public/application/containers/console_history/console_history.tsx b/src/plugins/console/public/application/containers/console_history/console_history.tsx index 8ec8b9c61bf03..5a278347bde8d 100644 --- a/src/plugins/console/public/application/containers/console_history/console_history.tsx +++ b/src/plugins/console/public/application/containers/console_history/console_history.tsx @@ -19,7 +19,7 @@ import React, { useCallback, useEffect, useMemo, useState, useRef } from 'react'; import { i18n } from '@kbn/i18n'; -import { memoize } from 'lodash'; +import { memoize } from 'lodash4'; import moment from 'moment'; import { keyCodes, diff --git a/src/plugins/console/public/application/containers/editor/editor.tsx b/src/plugins/console/public/application/containers/editor/editor.tsx index 66d3cbab20ac5..fb4f60b980054 100644 --- a/src/plugins/console/public/application/containers/editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/editor.tsx @@ -18,7 +18,7 @@ */ import React, { useCallback, memo } from 'react'; -import { debounce } from 'lodash'; +import { debounce } from 'lodash4'; import { EuiProgress } from '@elastic/eui'; import { EditorContentSpinner } from '../../components'; diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx index 6d4f532887cd9..350f257e49559 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx @@ -19,7 +19,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiScreenReaderOnly, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { debounce } from 'lodash'; +import { debounce } from 'lodash4'; import { parse } from 'query-string'; import React, { CSSProperties, useCallback, useEffect, useRef, useState } from 'react'; import { useUIAceKeyboardMode } from '../../../../../../../es_ui_shared/public'; diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts b/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts index 39621a9cb3dd2..81294d1388489 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { throttle } from 'lodash'; +import { throttle } from 'lodash4'; import { SenseEditor } from '../../../../models/sense_editor'; interface Actions { diff --git a/src/plugins/console/public/application/hooks/use_save_current_text_object.ts b/src/plugins/console/public/application/hooks/use_save_current_text_object.ts index 1bd1a7fb09bd1..95fcd5d2f25d2 100644 --- a/src/plugins/console/public/application/hooks/use_save_current_text_object.ts +++ b/src/plugins/console/public/application/hooks/use_save_current_text_object.ts @@ -18,7 +18,7 @@ */ import { useRef, useCallback } from 'react'; -import { throttle } from 'lodash'; +import { throttle } from 'lodash4'; import { useEditorReadContext, useServicesContext } from '../contexts'; const WAIT_MS = 500; diff --git a/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts b/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts index ce8ededd0b12c..43d470eefef20 100644 --- a/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts +++ b/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import ace from 'brace'; // @ts-ignore import * as OutputMode from './mode/output'; diff --git a/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts b/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts index e6d7d8272b35b..d63665ef4644e 100644 --- a/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts +++ b/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, throttle } from 'lodash'; +import { get, throttle } from 'lodash4'; // eslint-disable-next-line import/no-default-export export default function (editor: any) { diff --git a/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js b/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js index b7cc8f2f4b72f..3c98498c52bfc 100644 --- a/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js +++ b/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js @@ -18,7 +18,7 @@ */ import '../sense_editor.test.mocks'; import { create } from '../create'; -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import * as kb from '../../../../lib/kb/kb'; @@ -117,7 +117,7 @@ describe('Integration', () => { return t; }); if (terms.length !== expectedTerms.length) { - expect(_.pluck(terms, 'name')).toEqual(_.pluck(expectedTerms, 'name')); + expect(_.map(terms, 'name')).toEqual(_.map(expectedTerms, 'name')); } else { const filteredActualTerms = _.map(terms, function (actualTerm, i) { const expectedTerm = expectedTerms[i]; diff --git a/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js b/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js index c3fb879f2eeeb..e4d7d08bb0158 100644 --- a/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js +++ b/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js @@ -19,7 +19,7 @@ import '../sense_editor.test.mocks'; import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import { create } from '../create'; import { collapseLiteralStrings } from '../../../../../../es_ui_shared/public'; diff --git a/src/plugins/console/public/application/models/sense_editor/sense_editor.ts b/src/plugins/console/public/application/models/sense_editor/sense_editor.ts index dbf4f1adcba0a..a4436cc1deee8 100644 --- a/src/plugins/console/public/application/models/sense_editor/sense_editor.ts +++ b/src/plugins/console/public/application/models/sense_editor/sense_editor.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import RowParser from '../../../lib/row_parser'; import { collapseLiteralStrings } from '../../../../../es_ui_shared/public'; import * as utils from '../../../lib/utils'; diff --git a/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js b/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js index 0c3fcbafbe9f9..054ae21f8713c 100644 --- a/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js +++ b/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { URL_PATH_END_MARKER, UrlPatternMatcher, diff --git a/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js b/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js index e624e7ba57b61..c490eb81d0ab6 100644 --- a/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js +++ b/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { UrlParams } from '../../autocomplete/url_params'; import { populateContext } from '../../autocomplete/engine'; diff --git a/src/plugins/console/public/lib/autocomplete/autocomplete.ts b/src/plugins/console/public/lib/autocomplete/autocomplete.ts index 3959f2ed8cf46..436dbf000abab 100644 --- a/src/plugins/console/public/lib/autocomplete/autocomplete.ts +++ b/src/plugins/console/public/lib/autocomplete/autocomplete.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; // TODO: All of these imports need to be moved to the core editor so that it can inject components from there. diff --git a/src/plugins/console/public/lib/autocomplete/body_completer.js b/src/plugins/console/public/lib/autocomplete/body_completer.js index f37b3ac0cca9c..83c3b805a149c 100644 --- a/src/plugins/console/public/lib/autocomplete/body_completer.js +++ b/src/plugins/console/public/lib/autocomplete/body_completer.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { WalkingState, walkTokenPath, wrapComponentWithDefaults } from './engine'; import { ConstantComponent, @@ -51,7 +51,7 @@ function resolvePathToComponents(tokenPath, context, editor, components) { context, editor ); - const result = [].concat.apply([], _.pluck(walkStates, 'components')); + const result = [].concat.apply([], _.map(walkStates, 'components')); return result; } diff --git a/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js b/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js index b2d4888b34d6f..5c3ecfec73620 100644 --- a/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SharedComponent } from './shared_component'; export const URL_PATH_END_MARKER = '__url_path_end__'; diff --git a/src/plugins/console/public/lib/autocomplete/components/constant_component.js b/src/plugins/console/public/lib/autocomplete/components/constant_component.js index 44361d646c4aa..1dc95b5624a70 100644 --- a/src/plugins/console/public/lib/autocomplete/components/constant_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/constant_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SharedComponent } from './shared_component'; export class ConstantComponent extends SharedComponent { constructor(name, parent, options) { diff --git a/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js index 05c72ea8a8dc5..3d6f96eaa43aa 100644 --- a/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { getFields } from '../../mappings/mappings'; import { ListComponent } from './list_component'; diff --git a/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js index 88b9320b3c45e..9c1c6df82791d 100644 --- a/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SharedComponent } from './shared_component'; export class IdAutocompleteComponent extends SharedComponent { constructor(name, parent, multi) { diff --git a/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js index ec6f24253e78d..221c382e21856 100644 --- a/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { getIndices } from '../../mappings/mappings'; import { ListComponent } from './list_component'; function nonValidIndexType(token) { diff --git a/src/plugins/console/public/lib/autocomplete/components/list_component.js b/src/plugins/console/public/lib/autocomplete/components/list_component.js index b770638a61ff7..968e5209f53cd 100644 --- a/src/plugins/console/public/lib/autocomplete/components/list_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/list_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SharedComponent } from './shared_component'; /** A component that suggests one of the give options, but accepts anything */ export class ListComponent extends SharedComponent { @@ -62,7 +62,7 @@ export class ListComponent extends SharedComponent { // verify we have all tokens const list = this.listGenerator(); - const notFound = _.any(tokens, function (token) { + const notFound = _.some(tokens, function (token) { return list.indexOf(token) === -1; }); diff --git a/src/plugins/console/public/lib/autocomplete/components/object_component.js b/src/plugins/console/public/lib/autocomplete/components/object_component.js index 34cfb892a65d9..3857df331c7d4 100644 --- a/src/plugins/console/public/lib/autocomplete/components/object_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/object_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SharedComponent } from './index'; /** * @param constants list of components that represent constant keys diff --git a/src/plugins/console/public/lib/autocomplete/components/shared_component.js b/src/plugins/console/public/lib/autocomplete/components/shared_component.js index eeebf95063701..eb9cbb97159ed 100644 --- a/src/plugins/console/public/lib/autocomplete/components/shared_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/shared_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { AutocompleteComponent } from './autocomplete_component'; export class SharedComponent extends AutocompleteComponent { constructor(name, parent) { diff --git a/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js index 03d85eccaf385..d944a41f819c0 100644 --- a/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { ListComponent } from './list_component'; import { getTypes } from '../../mappings/mappings'; function TypeGenerator(context) { diff --git a/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js b/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js index 79a332624e5e1..7c5d38444ec9c 100644 --- a/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js +++ b/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SharedComponent, ConstantComponent, @@ -61,73 +61,64 @@ export class UrlPatternMatcher { } const endpointComponents = endpoint.url_components || {}; const partList = pattern.split('/'); - _.each( - partList, - function (part, partIndex) { - if (part.search(/^{.+}$/) >= 0) { - part = part.substr(1, part.length - 2); - if (activeComponent.getComponent(part)) { - // we already have something for this, reuse - activeComponent = activeComponent.getComponent(part); - return; - } - // a new path, resolve. + _.each(partList, (part, partIndex) => { + if (part.search(/^{.+}$/) >= 0) { + part = part.substr(1, part.length - 2); + if (activeComponent.getComponent(part)) { + // we already have something for this, reuse + activeComponent = activeComponent.getComponent(part); + return; + } + // a new path, resolve. - if ((c = endpointComponents[part])) { - // endpoint specific. Support list - if (Array.isArray(c)) { - c = new ListComponent(part, c, activeComponent); - } else if (_.isObject(c) && c.type === 'list') { - c = new ListComponent( - part, - c.list, - activeComponent, - c.multiValued, - c.allow_non_valid - ); - } else { - console.warn( - 'incorrectly configured url component ', - part, - ' in endpoint', - endpoint - ); - c = new SharedComponent(part); - } - } else if ((c = this[method].parametrizedComponentFactories.getComponent(part))) { - // c is a f - c = c(part, activeComponent); + if ((c = endpointComponents[part])) { + // endpoint specific. Support list + if (Array.isArray(c)) { + c = new ListComponent(part, c, activeComponent); + } else if (_.isObject(c) && c.type === 'list') { + c = new ListComponent( + part, + c.list, + activeComponent, + c.multiValued, + c.allow_non_valid + ); } else { - // just accept whatever with not suggestions - c = new SimpleParamComponent(part, activeComponent); + console.warn('incorrectly configured url component ', part, ' in endpoint', endpoint); + c = new SharedComponent(part); } - - activeComponent = c; + } else if ((c = this[method].parametrizedComponentFactories.getComponent(part))) { + // c is a f + c = c(part, activeComponent); } else { - // not pattern - let lookAhead = part; - let s; + // just accept whatever with not suggestions + c = new SimpleParamComponent(part, activeComponent); + } - for (partIndex++; partIndex < partList.length; partIndex++) { - s = partList[partIndex]; - if (s.indexOf('{') >= 0) { - break; - } - lookAhead += '/' + s; - } + activeComponent = c; + } else { + // not pattern + let lookAhead = part; + let s; - if (activeComponent.getComponent(part)) { - // we already have something for this, reuse - activeComponent = activeComponent.getComponent(part); - activeComponent.addOption(lookAhead); - } else { - c = new ConstantComponent(part, activeComponent, lookAhead); - activeComponent = c; + for (partIndex++; partIndex < partList.length; partIndex++) { + s = partList[partIndex]; + if (s.indexOf('{') >= 0) { + break; } + lookAhead += '/' + s; } - }, - this - ); + + if (activeComponent.getComponent(part)) { + // we already have something for this, reuse + activeComponent = activeComponent.getComponent(part); + activeComponent.addOption(lookAhead); + } else { + c = new ConstantComponent(part, activeComponent, lookAhead); + activeComponent = c; + } + } + }); // mark end of endpoint path new AcceptEndpointComponent(endpoint, activeComponent); }); diff --git a/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js index 14b77d4e70625..1e53cf882fd39 100644 --- a/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { getIndices } from '../../mappings/mappings'; import { ListComponent } from './list_component'; function nonValidUsernameType(token) { diff --git a/src/plugins/console/public/lib/autocomplete/engine.js b/src/plugins/console/public/lib/autocomplete/engine.js index 38be0d8a7e4c9..2db6bf281f164 100644 --- a/src/plugins/console/public/lib/autocomplete/engine.js +++ b/src/plugins/console/public/lib/autocomplete/engine.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function wrapComponentWithDefaults(component, defaults) { const originalGetTerms = component.getTerms; @@ -26,16 +26,12 @@ export function wrapComponentWithDefaults(component, defaults) { if (!result) { return result; } - result = _.map( - result, - function (term) { - if (!_.isObject(term)) { - term = { name: term }; - } - return _.defaults(term, defaults); - }, - this - ); + result = _.map(result, (term) => { + if (!_.isObject(term)) { + term = { name: term }; + } + return _.defaults(term, defaults); + }); return result; }; return component; @@ -145,7 +141,7 @@ export function populateContext(tokenPath, context, editor, includeAutoComplete, }); }); }); - autoCompleteSet = _.uniq(autoCompleteSet, false); + autoCompleteSet = _.uniq(autoCompleteSet); context.autoCompleteSet = autoCompleteSet; } diff --git a/src/plugins/console/public/lib/autocomplete/url_params.js b/src/plugins/console/public/lib/autocomplete/url_params.js index a237fe5dd59d6..a929aff95908b 100644 --- a/src/plugins/console/public/lib/autocomplete/url_params.js +++ b/src/plugins/console/public/lib/autocomplete/url_params.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { ConstantComponent, ListComponent, SharedComponent } from './components'; export class ParamComponent extends ConstantComponent { @@ -50,18 +50,14 @@ export class UrlParams { } description = _.clone(description || {}); _.defaults(description, defaults); - _.each( - description, - function (pDescription, param) { - const component = new ParamComponent(param, this.rootComponent, pDescription); - if (Array.isArray(pDescription)) { - new ListComponent(param, pDescription, component); - } else if (pDescription === '__flag__') { - new ListComponent(param, ['true', 'false'], component); - } - }, - this - ); + _.each(description, (pDescription, param) => { + const component = new ParamComponent(param, this.rootComponent, pDescription); + if (Array.isArray(pDescription)) { + new ListComponent(param, pDescription, component); + } else if (pDescription === '__flag__') { + new ListComponent(param, ['true', 'false'], component); + } + }); } getTopLevelComponents() { return this.rootComponent.next; diff --git a/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js b/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js index 068dd68be4ba8..f5bdeb1be325b 100644 --- a/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js +++ b/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { detectCURL, parseCURL } from '../curl'; import curlTests from './curl_parsing.txt'; diff --git a/src/plugins/console/public/lib/kb/__tests__/kb.test.js b/src/plugins/console/public/lib/kb/__tests__/kb.test.js index eaf5023053880..cfd13f20aaefa 100644 --- a/src/plugins/console/public/lib/kb/__tests__/kb.test.js +++ b/src/plugins/console/public/lib/kb/__tests__/kb.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { populateContext } from '../../autocomplete/engine'; import '../../../application/models/sense_editor/sense_editor.test.mocks'; diff --git a/src/plugins/console/public/lib/kb/api.js b/src/plugins/console/public/lib/kb/api.js index aafb234b0f446..9bf339eb72d75 100644 --- a/src/plugins/console/public/lib/kb/api.js +++ b/src/plugins/console/public/lib/kb/api.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { UrlPatternMatcher } from '../autocomplete/components'; import { UrlParams } from '../autocomplete/url_params'; import { @@ -60,19 +60,15 @@ function Api(urlParametrizedComponentFactories, bodyParametrizedComponentFactori cls.addEndpointDescription = function (endpoint, description) { const copiedDescription = {}; - _.extend(copiedDescription, description || {}); + _.assignIn(copiedDescription, description || {}); _.defaults(copiedDescription, { id: endpoint, patterns: [endpoint], methods: ['GET'], }); - _.each( - copiedDescription.patterns, - function (p) { - this.urlPatternMatcher.addEndpoint(p, copiedDescription); - }, - this - ); + _.each(copiedDescription.patterns, (p) => { + this.urlPatternMatcher.addEndpoint(p, copiedDescription); + }); copiedDescription.paramsAutocomplete = new UrlParams(copiedDescription.url_params); copiedDescription.bodyAutocompleteRootComponents = compileBodyDescription( diff --git a/src/plugins/console/public/lib/kb/kb.js b/src/plugins/console/public/lib/kb/kb.js index e0bf1ef09c4d3..0d78c035819ca 100644 --- a/src/plugins/console/public/lib/kb/kb.js +++ b/src/plugins/console/public/lib/kb/kb.js @@ -27,7 +27,7 @@ import { } from '../autocomplete/components'; import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import Api from './api'; diff --git a/src/plugins/console/public/lib/mappings/mappings.js b/src/plugins/console/public/lib/mappings/mappings.js index 22aae8da030d4..3a29f8a42cf3b 100644 --- a/src/plugins/console/public/lib/mappings/mappings.js +++ b/src/plugins/console/public/lib/mappings/mappings.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import * as es from '../es/es'; // NOTE: If this value ever changes to be a few seconds or less, it might introduce flakiness @@ -98,7 +98,7 @@ export function getFields(indices, types) { ret = [].concat.apply([], ret); } - return _.uniq(ret, function (f) { + return _.uniqBy(ret, function (f) { return f.name + ':' + f.type; }); } @@ -191,7 +191,7 @@ function getFieldNamesFromProperties(properties = {}) { }); // deduping - return _.uniq(fieldList, function (f) { + return _.uniqBy(fieldList, function (f) { return f.name + ':' + f.type; }); } diff --git a/src/plugins/console/public/lib/utils/index.ts b/src/plugins/console/public/lib/utils/index.ts index 917988e0e811b..7ba83dc2aa20f 100644 --- a/src/plugins/console/public/lib/utils/index.ts +++ b/src/plugins/console/public/lib/utils/index.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { expandLiteralStrings, collapseLiteralStrings } from '../../../../es_ui_shared/public'; export function textFromRequest(request: any) { diff --git a/src/plugins/console/public/services/storage.ts b/src/plugins/console/public/services/storage.ts index 2ac6fc5861ad2..feaa7e21048cf 100644 --- a/src/plugins/console/public/services/storage.ts +++ b/src/plugins/console/public/services/storage.ts @@ -17,7 +17,7 @@ * under the License. */ -import { transform, keys, startsWith } from 'lodash'; +import { transform, keys, startsWith } from 'lodash4'; type IStorageEngine = typeof window.localStorage; diff --git a/src/plugins/console/server/lib/elasticsearch_proxy_config.ts b/src/plugins/console/server/lib/elasticsearch_proxy_config.ts index 28a971794d403..80596da3ab06f 100644 --- a/src/plugins/console/server/lib/elasticsearch_proxy_config.ts +++ b/src/plugins/console/server/lib/elasticsearch_proxy_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import http from 'http'; import https from 'https'; import url from 'url'; @@ -25,7 +25,7 @@ import url from 'url'; import { ESConfigForProxy } from '../types'; const createAgent = (legacyConfig: ESConfigForProxy) => { - const target = url.parse(_.head(legacyConfig.hosts)); + const target = url.parse(_.head(legacyConfig.hosts) as any); if (!/^https/.test(target.protocol || '')) return new http.Agent(); const agentOptions: https.AgentOptions = {}; diff --git a/src/plugins/console/server/lib/proxy_config.ts b/src/plugins/console/server/lib/proxy_config.ts index 5adb9c58f784e..94ad81a985cea 100644 --- a/src/plugins/console/server/lib/proxy_config.ts +++ b/src/plugins/console/server/lib/proxy_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import { values } from 'lodash'; +import { values } from 'lodash4'; import { format as formatUrl } from 'url'; import { Agent as HttpsAgent, AgentOptions } from 'https'; diff --git a/src/plugins/console/server/lib/proxy_config_collection.ts b/src/plugins/console/server/lib/proxy_config_collection.ts index 36f4f8359c5fe..cb7f565e372e3 100644 --- a/src/plugins/console/server/lib/proxy_config_collection.ts +++ b/src/plugins/console/server/lib/proxy_config_collection.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaultsDeep } from 'lodash'; +import { defaultsDeep } from 'lodash4'; import { parse as parseUrl } from 'url'; import { ProxyConfig } from './proxy_config'; diff --git a/src/plugins/console/server/lib/set_headers.ts b/src/plugins/console/server/lib/set_headers.ts index ee0be40312a4d..dcecc970bad68 100644 --- a/src/plugins/console/server/lib/set_headers.ts +++ b/src/plugins/console/server/lib/set_headers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isPlainObject } from 'lodash'; +import { isPlainObject } from 'lodash4'; export function setHeaders(originalHeaders: object, newHeaders: object) { if (!isPlainObject(originalHeaders)) { diff --git a/src/plugins/console/server/lib/spec_definitions/js/mappings.ts b/src/plugins/console/server/lib/spec_definitions/js/mappings.ts index fbc9a822e509c..03e1cc396647d 100644 --- a/src/plugins/console/server/lib/spec_definitions/js/mappings.ts +++ b/src/plugins/console/server/lib/spec_definitions/js/mappings.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SpecDefinitionsService } from '../../../services'; diff --git a/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts b/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts index d6e5030fb6928..8cff7967c5238 100644 --- a/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts +++ b/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SpecDefinitionsService } from '../../../../services'; diff --git a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts index 272f63322ffaa..84f2cf2d7a48f 100644 --- a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts +++ b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts @@ -19,7 +19,7 @@ import { Agent, IncomingMessage } from 'http'; import * as url from 'url'; -import { pick, trimLeft, trimRight } from 'lodash'; +import { pick, trimStart, trimEnd } from 'lodash4'; import { KibanaRequest, Logger, RequestHandler } from 'kibana/server'; @@ -46,7 +46,7 @@ export interface CreateHandlerDependencies { } function toURL(base: string, path: string) { - const urlResult = new url.URL(`${trimRight(base, '/')}/${trimLeft(path, '/')}`); + const urlResult = new url.URL(`${trimEnd(base, '/')}/${trimStart(path, '/')}`); // Appending pretty here to have Elasticsearch do the JSON formatting, as doing // in JS can lead to data loss (7.0 will get munged into 7, thus losing indication of // measurement precision) diff --git a/src/plugins/console/server/services/spec_definitions_service.ts b/src/plugins/console/server/services/spec_definitions_service.ts index ccd3b6b1c0a82..1a0da2a2ff073 100644 --- a/src/plugins/console/server/services/spec_definitions_service.ts +++ b/src/plugins/console/server/services/spec_definitions_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { merge } from 'lodash'; +import _, { merge } from 'lodash4'; import glob from 'glob'; import { basename, join, resolve } from 'path'; import { readFileSync } from 'fs'; @@ -55,11 +55,14 @@ export class SpecDefinitionsService { }); if (urlParamsDef) { - description.url_params = _.extend(description.url_params || {}, copiedDescription.url_params); + description.url_params = _.assignIn( + description.url_params || {}, + copiedDescription.url_params + ); _.defaults(description.url_params, urlParamsDef); } - _.extend(copiedDescription, description); + _.assignIn(copiedDescription, description); _.defaults(copiedDescription, { id: endpoint, patterns: [endpoint], diff --git a/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx b/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx index 96210358c05e4..a8db83b8fa509 100644 --- a/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx +++ b/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx @@ -20,6 +20,7 @@ import { i18n } from '@kbn/i18n'; import { CoreStart } from 'src/core/public'; import uuid from 'uuid'; +import _ from 'lodash4'; import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; import { ViewMode, PanelState, IEmbeddable } from '../../embeddable_plugin'; import { SavedObject } from '../../../../saved_objects/public'; diff --git a/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx b/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx index 57fe4acf08145..b9e6cc721040b 100644 --- a/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx +++ b/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx @@ -19,6 +19,7 @@ import { i18n } from '@kbn/i18n'; import React from 'react'; +import _ from 'lodash4'; import { EuiFlyout, EuiFlyoutBody, EuiFlyoutHeader, EuiTitle } from '@elastic/eui'; import { NotificationsStart, Toast } from 'src/core/public'; import { DashboardPanelState } from '../embeddable'; diff --git a/src/plugins/dashboard/public/application/dashboard_app_controller.tsx b/src/plugins/dashboard/public/application/dashboard_app_controller.tsx index 206ef4f3d4313..ad737a98f8918 100644 --- a/src/plugins/dashboard/public/application/dashboard_app_controller.tsx +++ b/src/plugins/dashboard/public/application/dashboard_app_controller.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _, { uniq } from 'lodash'; +import _, { uniqBy } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { EUI_MODAL_CANCEL_BUTTON, EuiCheckboxGroup } from '@elastic/eui'; import { EuiCheckboxGroupIdToSelectedMap } from '@elastic/eui/src/components/form/checkbox/checkbox_group'; @@ -264,7 +264,7 @@ export class DashboardAppController { if (!embeddableIndexPatterns) return; panelIndexPatterns.push(...embeddableIndexPatterns); }); - panelIndexPatterns = uniq(panelIndexPatterns, 'id'); + panelIndexPatterns = uniqBy(panelIndexPatterns, 'id'); if (panelIndexPatterns && panelIndexPatterns.length > 0) { $scope.$evalAsync(() => { @@ -512,7 +512,7 @@ export class DashboardAppController { differences.filters = appStateDashboardInput.filters; } - Object.keys(_.omit(containerInput, 'filters')).forEach((key) => { + Object.keys(_.omit(containerInput, ['filters'])).forEach((key) => { const containerValue = (containerInput as { [key: string]: unknown })[key]; const appStateValue = ((appStateDashboardInput as unknown) as { [key: string]: unknown })[ key diff --git a/src/plugins/dashboard/public/application/dashboard_state_manager.ts b/src/plugins/dashboard/public/application/dashboard_state_manager.ts index 5fed38487dc54..03bf0e596b07e 100644 --- a/src/plugins/dashboard/public/application/dashboard_state_manager.ts +++ b/src/plugins/dashboard/public/application/dashboard_state_manager.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import { Observable, Subscription } from 'rxjs'; import { Moment } from 'moment'; import { History } from 'history'; diff --git a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx index dcd07fe394c7d..d5e4a84ab3ebc 100644 --- a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx +++ b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx @@ -25,7 +25,7 @@ import sizeMe from 'react-sizeme'; import { injectI18n } from '@kbn/i18n/react'; import classNames from 'classnames'; -import _ from 'lodash'; +import _ from 'lodash4'; import React from 'react'; import { Subscription } from 'rxjs'; import ReactGridLayout, { Layout } from 'react-grid-layout'; diff --git a/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts b/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts index 79116a57869d3..a6928c0608bd2 100644 --- a/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts +++ b/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts @@ -17,7 +17,6 @@ * under the License. */ -import _ from 'lodash'; import { PanelState, EmbeddableInput } from '../../../embeddable_plugin'; import { DEFAULT_PANEL_HEIGHT, DEFAULT_PANEL_WIDTH } from '../dashboard_constants'; import { DashboardPanelState } from '../types'; diff --git a/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts b/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts index 1b060c186db97..7550b6f493083 100644 --- a/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts +++ b/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts @@ -17,6 +17,7 @@ * under the License. */ +import _ from 'lodash4'; import { PanelNotFoundError } from '../../../embeddable_plugin'; import { GridData } from '../../../../common'; import { DashboardPanelState, DASHBOARD_GRID_COLUMN_COUNT } from '..'; diff --git a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts b/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts index b19ef31ccb9ac..9091b2f9ee0ea 100644 --- a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts +++ b/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { omit } from 'lodash'; +import { omit } from 'lodash4'; import { SavedDashboardPanel } from '../../types'; import { DashboardPanelState } from '../embeddable'; import { SavedObjectEmbeddableInput } from '../../embeddable_plugin'; diff --git a/src/plugins/dashboard/public/application/lib/filter_utils.ts b/src/plugins/dashboard/public/application/lib/filter_utils.ts index b6b935d6050ae..15370acada622 100644 --- a/src/plugins/dashboard/public/application/lib/filter_utils.ts +++ b/src/plugins/dashboard/public/application/lib/filter_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import moment, { Moment } from 'moment'; import { Filter } from '../../../../data/public'; diff --git a/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts b/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts index e3b6725ce7449..81e0300f04c71 100644 --- a/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts +++ b/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { RefreshInterval, TimefilterContract } from 'src/plugins/data/public'; import { FilterUtils } from './filter_utils'; import { SavedObjectDashboard } from '../../saved_dashboards'; @@ -47,7 +47,7 @@ export function updateSavedDashboard( 'pause', 'section', 'value', - ]); + ]) as RefreshInterval; savedDashboard.refreshInterval = savedDashboard.timeRestore ? timeRestoreObj : undefined; // save only unpinned filters diff --git a/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js b/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js index dccac4e7c3c76..9923c7ecf0496 100644 --- a/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js +++ b/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js @@ -18,9 +18,9 @@ */ jest.mock( - 'lodash', + 'lodash4', () => ({ - ...require.requireActual('lodash'), + ...require.requireActual('lodash4'), // mock debounce to fire immediately with no internal timer debounce: (func) => { function debounced(...args) { diff --git a/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts b/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts index 4f7945d6dd601..456ac009d5dce 100644 --- a/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts +++ b/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, flow } from 'lodash'; +import { get, flow } from 'lodash4'; import { SavedObjectMigrationFn } from 'kibana/server'; import { migrations730 } from './migrations_730'; @@ -111,7 +111,7 @@ export const dashboardSavedObjectTypeMigrations = { * in that version. So we apply this twice, once with 6.7.2 and once with 7.0.1 while the backport to 6.7 * only contained the 6.7.2 migration and not the 7.0.1 migration. */ - '6.7.2': flow>(migrateMatchAllQuery), - '7.0.0': flow>(migrations700), - '7.3.0': flow>(migrations730), + '6.7.2': flow(migrateMatchAllQuery), + '7.0.0': flow(migrations700), + '7.3.0': flow(migrations730), }; diff --git a/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts b/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts index 75e169b79f320..73274f7cf624e 100644 --- a/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts +++ b/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts @@ -18,11 +18,11 @@ */ import { SavedObjectMigrationFn } from 'kibana/server'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { DEFAULT_QUERY_LANGUAGE } from '../../../data/common'; export const migrateMatchAllQuery: SavedObjectMigrationFn = (doc) => { - const searchSourceJSON = get(doc, 'attributes.kibanaSavedObjectMeta.searchSourceJSON'); + const searchSourceJSON = get(doc, 'attributes.kibanaSavedObjectMeta.searchSourceJSON'); if (searchSourceJSON) { let searchSource: any; diff --git a/src/plugins/data/common/es_query/es_query/build_es_query.ts b/src/plugins/data/common/es_query/es_query/build_es_query.ts index 66d44f5e0747f..f8b74f1981e57 100644 --- a/src/plugins/data/common/es_query/es_query/build_es_query.ts +++ b/src/plugins/data/common/es_query/es_query/build_es_query.ts @@ -17,7 +17,7 @@ * under the License. */ -import { groupBy, has } from 'lodash'; +import { groupBy, has } from 'lodash3'; import { buildQueryFromKuery } from './from_kuery'; import { buildQueryFromFilters } from './from_filters'; import { buildQueryFromLucene } from './from_lucene'; diff --git a/src/plugins/data/common/es_query/es_query/decorate_query.ts b/src/plugins/data/common/es_query/es_query/decorate_query.ts index 891712d057886..828e7b0bcd990 100644 --- a/src/plugins/data/common/es_query/es_query/decorate_query.ts +++ b/src/plugins/data/common/es_query/es_query/decorate_query.ts @@ -17,7 +17,7 @@ * under the License. */ -import { extend, defaults } from 'lodash'; +import { extend, defaults } from 'lodash3'; import { getTimeZoneFromSettings } from '../utils'; import { DslQuery, isEsQueryString } from './es_query_dsl'; diff --git a/src/plugins/data/common/es_query/es_query/es_query_dsl.ts b/src/plugins/data/common/es_query/es_query/es_query_dsl.ts index d906ae5359ec2..02dccfa426326 100644 --- a/src/plugins/data/common/es_query/es_query/es_query_dsl.ts +++ b/src/plugins/data/common/es_query/es_query/es_query_dsl.ts @@ -17,7 +17,7 @@ * under the License. */ -import { has } from 'lodash'; +import { has } from 'lodash3'; export interface DslRangeQuery { range: { diff --git a/src/plugins/data/common/es_query/es_query/from_filters.ts b/src/plugins/data/common/es_query/es_query/from_filters.ts index d2d52efedd085..af93ec5484fe3 100644 --- a/src/plugins/data/common/es_query/es_query/from_filters.ts +++ b/src/plugins/data/common/es_query/es_query/from_filters.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isUndefined } from 'lodash'; +import { isUndefined } from 'lodash3'; import { migrateFilter } from './migrate_filter'; import { filterMatchesIndex } from './filter_matches_index'; import { Filter, cleanFilter, isFilterDisabled } from '../filters'; diff --git a/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts b/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts index 5fa3c67dea400..69ddfb88cbc9a 100644 --- a/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts +++ b/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { getEsQueryConfig } from './get_es_query_config'; import { IUiSettingsClient } from 'kibana/public'; import { UI_SETTINGS } from '../../'; diff --git a/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts b/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts index 6e8d519ec0ce2..6b5b47f6a063b 100644 --- a/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts +++ b/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString } from 'lodash'; +import { isString } from 'lodash3'; import { DslQuery } from './es_query_dsl'; export function luceneStringToDsl(query: string | any): DslQuery { diff --git a/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts b/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts index ae9d1c7921955..41f48d9b94664 100644 --- a/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts +++ b/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isEqual, clone } from 'lodash'; +import { isEqual, clone } from 'lodash3'; import { migrateFilter, DeprecatedMatchPhraseFilter } from './migrate_filter'; import { PhraseFilter, MatchAllFilter } from '../filters'; diff --git a/src/plugins/data/common/es_query/es_query/migrate_filter.ts b/src/plugins/data/common/es_query/es_query/migrate_filter.ts index 498763be538de..cec6a23318e11 100644 --- a/src/plugins/data/common/es_query/es_query/migrate_filter.ts +++ b/src/plugins/data/common/es_query/es_query/migrate_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, omit } from 'lodash'; +import { get, omit } from 'lodash3'; import { getConvertedValueForField } from '../filters'; import { Filter } from '../filters'; import { IIndexPattern } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/filters/get_display_value.ts b/src/plugins/data/common/es_query/filters/get_display_value.ts index 10b4dab3f46ef..1c71d6891a6f8 100644 --- a/src/plugins/data/common/es_query/filters/get_display_value.ts +++ b/src/plugins/data/common/es_query/filters/get_display_value.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { IIndexPattern, IFieldType } from '../..'; import { getIndexPatternFromFilter } from './get_index_pattern_from_filter'; diff --git a/src/plugins/data/common/es_query/filters/index.ts b/src/plugins/data/common/es_query/filters/index.ts index 990d588359442..982ea58c45769 100644 --- a/src/plugins/data/common/es_query/filters/index.ts +++ b/src/plugins/data/common/es_query/filters/index.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit, get } from 'lodash'; +import { omit, get } from 'lodash3'; import { Filter } from './meta_filter'; export * from './build_filters'; diff --git a/src/plugins/data/common/es_query/filters/phrase_filter.ts b/src/plugins/data/common/es_query/filters/phrase_filter.ts index 167bb3f840350..b8ad6d3495575 100644 --- a/src/plugins/data/common/es_query/filters/phrase_filter.ts +++ b/src/plugins/data/common/es_query/filters/phrase_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isPlainObject } from 'lodash'; +import { get, isPlainObject } from 'lodash3'; import { Filter, FilterMeta } from './meta_filter'; import { IIndexPattern, IFieldType } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/filters/range_filter.test.ts b/src/plugins/data/common/es_query/filters/range_filter.test.ts index 8accca5c29a45..df07e62f83f47 100644 --- a/src/plugins/data/common/es_query/filters/range_filter.test.ts +++ b/src/plugins/data/common/es_query/filters/range_filter.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { each } from 'lodash'; +import { each } from 'lodash3'; import { buildRangeFilter, getRangeFilterField, RangeFilter } from './range_filter'; import { fields, getField } from '../../index_patterns/mocks'; import { IIndexPattern, IFieldType } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/filters/range_filter.ts b/src/plugins/data/common/es_query/filters/range_filter.ts index c318a0f0c2c3d..1c886a9d90ced 100644 --- a/src/plugins/data/common/es_query/filters/range_filter.ts +++ b/src/plugins/data/common/es_query/filters/range_filter.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { map, reduce, mapValues, get, keys, pick } from 'lodash'; +import { map, reduce, mapValues, get, keys, pick } from 'lodash3'; import { Filter, FilterMeta } from './meta_filter'; import { IIndexPattern, IFieldType } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/kuery/functions/exists.ts b/src/plugins/data/common/es_query/kuery/functions/exists.ts index eb6829fca58d9..e194c770a5815 100644 --- a/src/plugins/data/common/es_query/kuery/functions/exists.ts +++ b/src/plugins/data/common/es_query/kuery/functions/exists.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import * as literal from '../node_types/literal'; import { IIndexPattern, KueryNode, IFieldType } from '../../..'; diff --git a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts index cf287ff2c437a..4a8b595bb4599 100644 --- a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts +++ b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { nodeTypes } from '../node_types'; import { fields } from '../../../index_patterns/mocks'; import { IIndexPattern } from '../../../index_patterns'; diff --git a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts index d61b16f8dcd85..da68539cbcc04 100644 --- a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts +++ b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { nodeTypes } from '../node_types'; import * as ast from '../ast'; import { IIndexPattern, KueryNode, IFieldType, LatLon } from '../../..'; diff --git a/src/plugins/data/common/es_query/kuery/functions/is.ts b/src/plugins/data/common/es_query/kuery/functions/is.ts index 89aec6e55e81b..00885712acbef 100644 --- a/src/plugins/data/common/es_query/kuery/functions/is.ts +++ b/src/plugins/data/common/es_query/kuery/functions/is.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isUndefined } from 'lodash'; +import { get, isUndefined } from 'lodash3'; import { getPhraseScript } from '../../filters'; import { getFields } from './utils/get_fields'; import { getTimeZoneFromSettings } from '../../utils'; diff --git a/src/plugins/data/common/es_query/kuery/functions/range.test.ts b/src/plugins/data/common/es_query/kuery/functions/range.test.ts index ed8e40830df02..abc72c9d6ad5a 100644 --- a/src/plugins/data/common/es_query/kuery/functions/range.test.ts +++ b/src/plugins/data/common/es_query/kuery/functions/range.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { nodeTypes } from '../node_types'; import { fields } from '../../../index_patterns/mocks'; import { IIndexPattern } from '../../../index_patterns'; diff --git a/src/plugins/data/common/es_query/kuery/functions/range.ts b/src/plugins/data/common/es_query/kuery/functions/range.ts index feffaa3ec7dda..22c7a2cbc469a 100644 --- a/src/plugins/data/common/es_query/kuery/functions/range.ts +++ b/src/plugins/data/common/es_query/kuery/functions/range.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { nodeTypes } from '../node_types'; import * as ast from '../ast'; import { getRangeScript, RangeFilterParams } from '../../filters'; diff --git a/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts b/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts index 6aac1a3b3486d..24cb48aba52d5 100644 --- a/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts +++ b/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts @@ -17,7 +17,7 @@ * under the License. */ -import { repeat } from 'lodash'; +import { repeat } from 'lodash3'; import { i18n } from '@kbn/i18n'; const endOfInputText = i18n.translate('data.common.kql.errors.endOfInputText', { diff --git a/src/plugins/data/common/es_query/kuery/node_types/function.ts b/src/plugins/data/common/es_query/kuery/node_types/function.ts index fd4e408acb57a..9a497bec8d7fd 100644 --- a/src/plugins/data/common/es_query/kuery/node_types/function.ts +++ b/src/plugins/data/common/es_query/kuery/node_types/function.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { functions } from '../functions'; import { IIndexPattern, KueryNode } from '../../..'; diff --git a/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts b/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts index df1fdd1e0d514..0b654388b5667 100644 --- a/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts +++ b/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import * as ast from '../ast'; import { nodeTypes } from '../node_types'; import { NamedArgTypeBuildNode } from './types'; diff --git a/src/plugins/data/common/field_formats/content_types/html_content_type.ts b/src/plugins/data/common/field_formats/content_types/html_content_type.ts index d4701200d99e0..551aab5f5069a 100644 --- a/src/plugins/data/common/field_formats/content_types/html_content_type.ts +++ b/src/plugins/data/common/field_formats/content_types/html_content_type.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { escape, isFunction } from 'lodash'; +import { escape, isFunction } from 'lodash3'; import { IFieldFormat, HtmlContextTypeConvert, FieldFormatsContentType } from '../types'; import { asPrettyString, getHighlightHtml } from '../utils'; diff --git a/src/plugins/data/common/field_formats/content_types/text_content_type.ts b/src/plugins/data/common/field_formats/content_types/text_content_type.ts index 4a90ba6c0b203..dfa53c2d993d1 100644 --- a/src/plugins/data/common/field_formats/content_types/text_content_type.ts +++ b/src/plugins/data/common/field_formats/content_types/text_content_type.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isFunction } from 'lodash'; +import { isFunction } from 'lodash3'; import { IFieldFormat, TextContextTypeConvert, FieldFormatsContentType } from '../types'; import { asPrettyString } from '../utils'; diff --git a/src/plugins/data/common/field_formats/converters/color.ts b/src/plugins/data/common/field_formats/converters/color.ts index ca659916f7671..30d943699fe14 100644 --- a/src/plugins/data/common/field_formats/converters/color.ts +++ b/src/plugins/data/common/field_formats/converters/color.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { findLast, cloneDeep, template, escape } from 'lodash'; +import { findLast, cloneDeep, template, escape } from 'lodash3'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; import { HtmlContextTypeConvert, FIELD_FORMAT_IDS } from '../types'; diff --git a/src/plugins/data/common/field_formats/converters/date_nanos.ts b/src/plugins/data/common/field_formats/converters/date_nanos.ts index 3fa2b1c276cd7..35e476c610716 100644 --- a/src/plugins/data/common/field_formats/converters/date_nanos.ts +++ b/src/plugins/data/common/field_formats/converters/date_nanos.ts @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import moment, { Moment } from 'moment'; -import { memoize, noop } from 'lodash'; +import { memoize, noop } from 'lodash3'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; import { TextContextTypeConvert, FIELD_FORMAT_IDS } from '../types'; diff --git a/src/plugins/data/common/field_formats/converters/source.ts b/src/plugins/data/common/field_formats/converters/source.ts index f00261e00971a..ac41d91255e3a 100644 --- a/src/plugins/data/common/field_formats/converters/source.ts +++ b/src/plugins/data/common/field_formats/converters/source.ts @@ -17,7 +17,7 @@ * under the License. */ -import { template, escape, keys } from 'lodash'; +import { template, escape, keys } from 'lodash3'; import { shortenDottedString } from '../../utils'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; diff --git a/src/plugins/data/common/field_formats/converters/truncate.ts b/src/plugins/data/common/field_formats/converters/truncate.ts index a6c4a1133a2ed..071c7bd554764 100644 --- a/src/plugins/data/common/field_formats/converters/truncate.ts +++ b/src/plugins/data/common/field_formats/converters/truncate.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { trunc } from 'lodash'; +import { trunc } from 'lodash3'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; import { TextContextTypeConvert, FIELD_FORMAT_IDS } from '../types'; diff --git a/src/plugins/data/common/field_formats/converters/url.ts b/src/plugins/data/common/field_formats/converters/url.ts index a0a498b6cab34..a0cb4270c8dd1 100644 --- a/src/plugins/data/common/field_formats/converters/url.ts +++ b/src/plugins/data/common/field_formats/converters/url.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { escape, memoize } from 'lodash'; +import { escape, memoize } from 'lodash3'; import { getHighlightHtml } from '../utils'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; diff --git a/src/plugins/data/common/field_formats/field_format.test.ts b/src/plugins/data/common/field_formats/field_format.test.ts index 2229601994496..8f73829e106fb 100644 --- a/src/plugins/data/common/field_formats/field_format.test.ts +++ b/src/plugins/data/common/field_formats/field_format.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { constant, trimRight, trimLeft, get } from 'lodash'; +import { constant, trimRight, trimLeft, get } from 'lodash3'; import { FieldFormat } from './field_format'; import { asPrettyString } from './utils'; diff --git a/src/plugins/data/common/field_formats/field_format.ts b/src/plugins/data/common/field_formats/field_format.ts index 26f07a12067ce..12a530e081348 100644 --- a/src/plugins/data/common/field_formats/field_format.ts +++ b/src/plugins/data/common/field_formats/field_format.ts @@ -17,7 +17,7 @@ * under the License. */ -import { transform, size, cloneDeep, get, defaults } from 'lodash'; +import { transform, size, cloneDeep, get, defaults } from 'lodash3'; import { createCustomFieldFormat } from './converters/custom'; import { FieldFormatsGetConfigFn, diff --git a/src/plugins/data/common/field_formats/field_formats_registry.ts b/src/plugins/data/common/field_formats/field_formats_registry.ts index 9325485bce75d..e269da139d113 100644 --- a/src/plugins/data/common/field_formats/field_formats_registry.ts +++ b/src/plugins/data/common/field_formats/field_formats_registry.ts @@ -18,7 +18,7 @@ */ // eslint-disable-next-line max-classes-per-file -import { forOwn, isFunction, memoize, identity } from 'lodash'; +import { forOwn, isFunction, memoize, identity } from 'lodash3'; import { FieldFormatsGetConfigFn, diff --git a/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts b/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts index 23c72e94b120a..12a11e0977469 100644 --- a/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts +++ b/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { highlightTags } from './highlight_tags'; import { htmlTags } from './html_tags'; diff --git a/src/plugins/data/common/field_mapping/mapping_setup.ts b/src/plugins/data/common/field_mapping/mapping_setup.ts index 99b49b401a8b8..f2a79a8ec1fce 100644 --- a/src/plugins/data/common/field_mapping/mapping_setup.ts +++ b/src/plugins/data/common/field_mapping/mapping_setup.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapValues, isString } from 'lodash'; +import { mapValues, isString } from 'lodash3'; import { FieldMappingSpec, MappingObject } from './types'; // import from ./common/types to prevent circular dependency of kibana_utils <-> data plugin diff --git a/src/plugins/data/common/index_patterns/fields/field_list.ts b/src/plugins/data/common/index_patterns/fields/field_list.ts index 173a629863a71..2eec4fd9f375a 100644 --- a/src/plugins/data/common/index_patterns/fields/field_list.ts +++ b/src/plugins/data/common/index_patterns/fields/field_list.ts @@ -17,7 +17,7 @@ * under the License. */ -import { findIndex } from 'lodash'; +import { findIndex } from 'lodash3'; import { IIndexPattern } from '../../types'; import { IFieldType } from '../../../common'; import { Field, FieldSpec } from './field'; diff --git a/src/plugins/data/common/index_patterns/fields/obj_define.js b/src/plugins/data/common/index_patterns/fields/obj_define.js index 9c9e5c8f3d55f..a40df0d533095 100644 --- a/src/plugins/data/common/index_patterns/fields/obj_define.js +++ b/src/plugins/data/common/index_patterns/fields/obj_define.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export function ObjDefine(defaults, prototype) { this.obj; // created by this.create() diff --git a/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts b/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts index 2737627bf1977..a5995b997dc17 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts @@ -17,7 +17,7 @@ * under the License. */ -import { contains } from 'lodash'; +import { contains } from 'lodash3'; import { CoreStart } from 'kibana/public'; import { IndexPatternsContract } from './index_patterns'; diff --git a/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts b/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts index c194687b7c3bf..388403cd00f54 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { IndexPattern } from './index_pattern'; // Takes a hit, merges it with any stored/scripted fields, and with the metaFields diff --git a/src/plugins/data/common/index_patterns/index_patterns/format_hit.ts b/src/plugins/data/common/index_patterns/index_patterns/format_hit.ts index a0597ed4b9026..34e3b9cab94ea 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/format_hit.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/format_hit.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { IndexPattern } from './index_pattern'; import { FieldFormatsContentType } from '../../../common'; diff --git a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts index cea476781ad3b..43d9c294fd89d 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults, pluck, last, get } from 'lodash'; +import { defaults, pluck, last, get } from 'lodash3'; import { IndexPattern } from './index_pattern'; diff --git a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts index 666d99362ce80..38fa1a9dcba80 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { each, reject } from 'lodash'; +import _, { each, reject } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { SavedObjectsClientContract } from 'src/core/public'; import { DuplicateField, SavedObjectNotFound } from '../../../../kibana_utils/common'; diff --git a/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts b/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts index 1630a4547b7a1..decbea05e01c8 100644 --- a/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts +++ b/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts @@ -18,7 +18,7 @@ */ import { SavedObject } from 'src/core/public'; -import { get } from 'lodash'; +import { get } from 'lodash3'; import { IIndexPattern, IndexPatternAttributes } from '../..'; export function getFromSavedObject( diff --git a/src/plugins/data/common/index_patterns/utils.ts b/src/plugins/data/common/index_patterns/utils.ts index c3f9af62f8c0e..e3767e015c59c 100644 --- a/src/plugins/data/common/index_patterns/utils.ts +++ b/src/plugins/data/common/index_patterns/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash'; +import { find } from 'lodash3'; import { SavedObjectsClientContract, SimpleSavedObject } from 'src/core/public'; /** diff --git a/src/plugins/data/common/query/filter_manager/compare_filters.ts b/src/plugins/data/common/query/filter_manager/compare_filters.ts index 65df6e26a25b3..d309243edf5ee 100644 --- a/src/plugins/data/common/query/filter_manager/compare_filters.ts +++ b/src/plugins/data/common/query/filter_manager/compare_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults, isEqual, omit, map } from 'lodash'; +import { defaults, isEqual, omit, map } from 'lodash3'; import { FilterMeta, Filter } from '../../es_query'; export interface FilterCompareOptions { diff --git a/src/plugins/data/common/query/filter_manager/dedup_filters.ts b/src/plugins/data/common/query/filter_manager/dedup_filters.ts index 7d1b00ac10c0d..7bf3d9e03472f 100644 --- a/src/plugins/data/common/query/filter_manager/dedup_filters.ts +++ b/src/plugins/data/common/query/filter_manager/dedup_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { filter, find } from 'lodash'; +import { filter, find } from 'lodash3'; import { compareFilters, FilterCompareOptions } from './compare_filters'; import { Filter } from '../../es_query'; diff --git a/src/plugins/data/common/query/filter_manager/uniq_filters.ts b/src/plugins/data/common/query/filter_manager/uniq_filters.ts index 683cbf7c78a89..a683d453cf540 100644 --- a/src/plugins/data/common/query/filter_manager/uniq_filters.ts +++ b/src/plugins/data/common/query/filter_manager/uniq_filters.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { each, union } from 'lodash'; +import { each, union } from 'lodash3'; import { Filter } from '../../es_query'; import { dedupFilters } from './dedup_filters'; diff --git a/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts b/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts index e9d708d7061d2..643d8c5b25244 100644 --- a/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts +++ b/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash'; +import { find } from 'lodash3'; import moment, { unitOfTime } from 'moment'; import dateMath from '@elastic/datemath'; diff --git a/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts b/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts index 409614ca9c380..3bcb040452673 100644 --- a/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts +++ b/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash'; +import { last } from 'lodash3'; import moment from 'moment'; import { esFilters, IFieldType, RangeFilterParams } from '../../../public'; import { getIndexPatterns } from '../../../public/services'; diff --git a/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts b/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts index a6a45a26f06b3..39335cc060709 100644 --- a/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts +++ b/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts @@ -17,7 +17,7 @@ * under the License. */ -import { memoize } from 'lodash'; +import { memoize } from 'lodash3'; import { CoreSetup } from 'src/core/public'; import { IIndexPattern, IFieldType, UI_SETTINGS } from '../../../common'; diff --git a/src/plugins/data/public/field_formats/converters/date.ts b/src/plugins/data/public/field_formats/converters/date.ts index 78ef8b293e8b9..4e01fa8cac9f2 100644 --- a/src/plugins/data/public/field_formats/converters/date.ts +++ b/src/plugins/data/public/field_formats/converters/date.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { memoize, noop } from 'lodash'; +import { memoize, noop } from 'lodash3'; import moment from 'moment'; import { FieldFormat, diff --git a/src/plugins/data/public/field_formats/utils/deserialize.ts b/src/plugins/data/public/field_formats/utils/deserialize.ts index d9c713c8b1eb4..70737a8761232 100644 --- a/src/plugins/data/public/field_formats/utils/deserialize.ts +++ b/src/plugins/data/public/field_formats/utils/deserialize.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash'; +import { identity } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { convertDateRangeToString, DateRangeKey } from '../../search/aggs/buckets/lib/date_range'; import { convertIPRangeToString, IpRangeKey } from '../../search/aggs/buckets/lib/ip_range'; diff --git a/src/plugins/data/public/query/filter_manager/filter_manager.test.ts b/src/plugins/data/public/query/filter_manager/filter_manager.test.ts index 878142906f54b..6d13b30f0a56d 100644 --- a/src/plugins/data/public/query/filter_manager/filter_manager.test.ts +++ b/src/plugins/data/public/query/filter_manager/filter_manager.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import sinon from 'sinon'; import { Subscription } from 'rxjs'; diff --git a/src/plugins/data/public/query/filter_manager/filter_manager.ts b/src/plugins/data/public/query/filter_manager/filter_manager.ts index 60a49a4bd50f4..61c8b0fc2cde6 100644 --- a/src/plugins/data/public/query/filter_manager/filter_manager.ts +++ b/src/plugins/data/public/query/filter_manager/filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { Subject } from 'rxjs'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts b/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts index 432a763bfd48c..d0106b78ad95d 100644 --- a/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts +++ b/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { IFieldType, IIndexPattern, diff --git a/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts b/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts index 13c99e1655d4c..24988441d71a4 100644 --- a/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts +++ b/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { compact, flatten } from 'lodash'; +import { compact, flatten } from 'lodash3'; import { mapFilter } from './map_filter'; import { Filter } from '../../../../common'; diff --git a/src/plugins/data/public/query/filter_manager/lib/map_filter.ts b/src/plugins/data/public/query/filter_manager/lib/map_filter.ts index 7b223a6845559..bdf01b061512f 100644 --- a/src/plugins/data/public/query/filter_manager/lib/map_filter.ts +++ b/src/plugins/data/public/query/filter_manager/lib/map_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { reduceRight } from 'lodash'; +import { reduceRight } from 'lodash3'; import { mapSpatialFilter } from './mappers/map_spatial_filter'; import { mapMatchAll } from './mappers/map_match_all'; diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts index b5715e33a4677..f067effad813b 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find, keys, get } from 'lodash'; +import { find, keys, get } from 'lodash3'; import { Filter, FILTERS } from '../../../../../common'; export const mapDefault = (filter: Filter) => { diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts index 6555652a37ca8..0b36e452bef2e 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { Filter, isExistsFilter, FILTERS } from '../../../../../common'; export const mapExists = (filter: Filter) => { diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts index a5e92d57d6a5b..5485a4b6c8484 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { PhraseFilter, FilterValueFormatter, diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts index d2d5a4b069218..8cdc6d929259c 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, has } from 'lodash'; +import { get, has } from 'lodash3'; import { FilterValueFormatter, RangeFilter, diff --git a/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts b/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts index 18c51ebeabe54..08cc747c511f4 100644 --- a/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts +++ b/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts @@ -17,7 +17,7 @@ * under the License. */ -import { filter } from 'lodash'; +import { filter } from 'lodash3'; import { Filter, compareFilters, COMPARE_ALL_OPTIONS } from '../../../../common'; const isEnabled = (f: Filter) => f && f.meta && !f.meta.disabled; diff --git a/src/plugins/data/public/query/lib/from_user.ts b/src/plugins/data/public/query/lib/from_user.ts index fbb1726fc99ea..09b3fd74e0edb 100644 --- a/src/plugins/data/public/query/lib/from_user.ts +++ b/src/plugins/data/public/query/lib/from_user.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; /** * Take userInput from the user and make it into a query object diff --git a/src/plugins/data/public/query/persisted_log/persisted_log.ts b/src/plugins/data/public/query/persisted_log/persisted_log.ts index f61315b85b195..5b985d8af8da6 100644 --- a/src/plugins/data/public/query/persisted_log/persisted_log.ts +++ b/src/plugins/data/public/query/persisted_log/persisted_log.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import * as Rx from 'rxjs'; import { map } from 'rxjs/operators'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; diff --git a/src/plugins/data/public/query/state_sync/connect_to_query_state.ts b/src/plugins/data/public/query/state_sync/connect_to_query_state.ts index e74497a5053b4..0865bca2cab53 100644 --- a/src/plugins/data/public/query/state_sync/connect_to_query_state.ts +++ b/src/plugins/data/public/query/state_sync/connect_to_query_state.ts @@ -19,7 +19,7 @@ import { Subscription } from 'rxjs'; import { filter, map } from 'rxjs/operators'; -import _ from 'lodash'; +import _ from 'lodash3'; import { BaseStateContainer } from '../../../../kibana_utils/public'; import { QuerySetup, QueryStart } from '../query_service'; import { QueryState, QueryStateChange } from './types'; diff --git a/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts b/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts index cbbf2f2754312..d9870447956a6 100644 --- a/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts +++ b/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import { keys } from 'lodash'; +import { keys } from 'lodash3'; import { TimefilterContract } from '../../timefilter'; import { RangeFilter, TimeRange } from '../../../../common'; diff --git a/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts b/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts index 3a9402209be20..7f79f4d2bb568 100644 --- a/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts +++ b/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { RefreshInterval } from '../../../../common'; import { InputTimeRange } from '../types'; diff --git a/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts b/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts index 23dd1547baf10..686f328c44940 100644 --- a/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts +++ b/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { keys, partition } from 'lodash'; +import { keys, partition } from 'lodash3'; import { Filter, isRangeFilter, RangeFilter } from '../../../../common'; export function extractTimeFilter(timeFieldName: string, filters: Filter[]) { diff --git a/src/plugins/data/public/query/timefilter/timefilter.ts b/src/plugins/data/public/query/timefilter/timefilter.ts index 86ef69be572a9..609b2263b1fb2 100644 --- a/src/plugins/data/public/query/timefilter/timefilter.ts +++ b/src/plugins/data/public/query/timefilter/timefilter.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { Subject, BehaviorSubject } from 'rxjs'; import moment from 'moment'; import { areRefreshIntervalsDifferent, areTimeRangesDifferent } from './lib/diff_time_picker_vals'; diff --git a/src/plugins/data/public/search/aggs/agg_config.test.ts b/src/plugins/data/public/search/aggs/agg_config.test.ts index 6a0dad07b69bb..d73a27d1b94f7 100644 --- a/src/plugins/data/public/search/aggs/agg_config.test.ts +++ b/src/plugins/data/public/search/aggs/agg_config.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash'; +import { identity } from 'lodash3'; import { AggConfig, IAggConfig } from './agg_config'; import { AggConfigs, CreateAggConfigParams } from './agg_configs'; diff --git a/src/plugins/data/public/search/aggs/agg_config.ts b/src/plugins/data/public/search/aggs/agg_config.ts index ee4116eefc0e2..dcd31e6d824ba 100644 --- a/src/plugins/data/public/search/aggs/agg_config.ts +++ b/src/plugins/data/public/search/aggs/agg_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { i18n } from '@kbn/i18n'; import { Assign, Ensure } from '@kbn/utility-types'; import { ExpressionAstFunction, ExpressionAstArgument } from 'src/plugins/expressions/public'; diff --git a/src/plugins/data/public/search/aggs/agg_configs.test.ts b/src/plugins/data/public/search/aggs/agg_configs.test.ts index 6e6fb3350d901..be559cc65926b 100644 --- a/src/plugins/data/public/search/aggs/agg_configs.test.ts +++ b/src/plugins/data/public/search/aggs/agg_configs.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { indexBy } from 'lodash'; +import { indexBy } from 'lodash3'; import { AggConfig } from './agg_config'; import { AggConfigs } from './agg_configs'; import { AggTypesRegistryStart } from './agg_types_registry'; diff --git a/src/plugins/data/public/search/aggs/agg_configs.ts b/src/plugins/data/public/search/aggs/agg_configs.ts index 6cc03be292d7b..9ce4281c5c9e6 100644 --- a/src/plugins/data/public/search/aggs/agg_configs.ts +++ b/src/plugins/data/public/search/aggs/agg_configs.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { Assign } from '@kbn/utility-types'; import { AggConfig, AggConfigSerialized, IAggConfig } from './agg_config'; diff --git a/src/plugins/data/public/search/aggs/agg_type.ts b/src/plugins/data/public/search/aggs/agg_type.ts index fb0cb609a08cf..cd27e80a7a6aa 100644 --- a/src/plugins/data/public/search/aggs/agg_type.ts +++ b/src/plugins/data/public/search/aggs/agg_type.ts @@ -17,7 +17,7 @@ * under the License. */ -import { constant, noop, identity } from 'lodash'; +import { constant, noop, identity } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { initParams } from './agg_params'; diff --git a/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts b/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts index fba3d35f002af..676918814da47 100644 --- a/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts +++ b/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isNumber, keys, values, find, each, cloneDeep, flatten } from 'lodash'; +import { isNumber, keys, values, find, each, cloneDeep, flatten } from 'lodash3'; import { buildExistsFilter, buildPhrasesFilter, buildQueryFromFilters } from '../../../../common'; import { AggGroupNames } from '../agg_groups'; import { IAggConfigs } from '../agg_configs'; diff --git a/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts b/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts index 72d2029a12b0d..3cea070d16684 100644 --- a/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts +++ b/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { IBucketAggConfig } from '../bucket_agg_type'; import { buildQueryFilter } from '../../../../../common'; diff --git a/src/plugins/data/public/search/aggs/buckets/date_histogram.ts b/src/plugins/data/public/search/aggs/buckets/date_histogram.ts index 8a5596f669cb7..3b2dcfe988379 100644 --- a/src/plugins/data/public/search/aggs/buckets/date_histogram.ts +++ b/src/plugins/data/public/search/aggs/buckets/date_histogram.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, noop, find, every } from 'lodash'; +import { get, noop, find, every } from 'lodash3'; import moment from 'moment-timezone'; import { i18n } from '@kbn/i18n'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/date_range.ts b/src/plugins/data/public/search/aggs/buckets/date_range.ts index 447347dbfbe10..d3b268782e65a 100644 --- a/src/plugins/data/public/search/aggs/buckets/date_range.ts +++ b/src/plugins/data/public/search/aggs/buckets/date_range.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import moment from 'moment-timezone'; import { i18n } from '@kbn/i18n'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/filters.ts b/src/plugins/data/public/search/aggs/buckets/filters.ts index 4052c0b390155..1ab49c3836acb 100644 --- a/src/plugins/data/public/search/aggs/buckets/filters.ts +++ b/src/plugins/data/public/search/aggs/buckets/filters.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { size, transform, cloneDeep } from 'lodash'; +import { size, transform, cloneDeep } from 'lodash3'; import { IUiSettingsClient } from 'src/core/public'; import { createFilterFilters } from './create_filter/filters'; diff --git a/src/plugins/data/public/search/aggs/buckets/geo_tile.ts b/src/plugins/data/public/search/aggs/buckets/geo_tile.ts index 1212bba23a93a..31b6000cd2159 100644 --- a/src/plugins/data/public/search/aggs/buckets/geo_tile.ts +++ b/src/plugins/data/public/search/aggs/buckets/geo_tile.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { noop } from 'lodash'; +import { noop } from 'lodash3'; import { BucketAggType, IBucketAggConfig } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; diff --git a/src/plugins/data/public/search/aggs/buckets/histogram.ts b/src/plugins/data/public/search/aggs/buckets/histogram.ts index c1fad17f488db..f5d91bdf80a5c 100644 --- a/src/plugins/data/public/search/aggs/buckets/histogram.ts +++ b/src/plugins/data/public/search/aggs/buckets/histogram.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/ip_range.ts b/src/plugins/data/public/search/aggs/buckets/ip_range.ts index 10fdb2d93b56e..9457663067503 100644 --- a/src/plugins/data/public/search/aggs/buckets/ip_range.ts +++ b/src/plugins/data/public/search/aggs/buckets/ip_range.ts @@ -17,7 +17,7 @@ * under the License. */ -import { noop, map, omit, isNull } from 'lodash'; +import { noop, map, omit, isNull } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { BucketAggType } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; diff --git a/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts b/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts index b8d6586652d6b..76e42f29cf4c7 100644 --- a/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts +++ b/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString, isObject as isObjectLodash, isPlainObject, sortBy } from 'lodash'; +import { isString, isObject as isObjectLodash, isPlainObject, sortBy } from 'lodash3'; import moment, { Moment } from 'moment'; import { parseInterval } from '../../../../../../common'; diff --git a/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts b/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts index 47da7e59af5e0..1e9521e7a5086 100644 --- a/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts +++ b/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString, isObject } from 'lodash'; +import { isString, isObject } from 'lodash3'; import { IBucketAggConfig, BucketAggType, BucketAggParam } from './bucket_agg_type'; import { IAggConfig } from '../agg_config'; diff --git a/src/plugins/data/public/search/aggs/buckets/terms.ts b/src/plugins/data/public/search/aggs/buckets/terms.ts index 45a76f08ddd13..caad806d5380d 100644 --- a/src/plugins/data/public/search/aggs/buckets/terms.ts +++ b/src/plugins/data/public/search/aggs/buckets/terms.ts @@ -17,7 +17,7 @@ * under the License. */ -import { noop } from 'lodash'; +import { noop } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { BucketAggType, IBucketAggConfig } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; diff --git a/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts b/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts index 927e9a7ae4458..8c155759b7602 100644 --- a/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts +++ b/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { get } from 'lodash'; +import { get } from 'lodash3'; import { MetricAggType } from './metric_agg_type'; import { makeNestedLabel } from './lib/make_nested_label'; import { siblingPipelineAggHelper } from './lib/sibling_pipeline_agg_helper'; diff --git a/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts b/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts index 00d866e6f2b3e..6c07e22bc4575 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts @@ -17,7 +17,7 @@ * under the License. */ -import { assign } from 'lodash'; +import { assign } from 'lodash3'; import { IMetricAggConfig } from '../metric_agg_type'; /** diff --git a/src/plugins/data/public/search/aggs/metrics/lib/make_nested_label.ts b/src/plugins/data/public/search/aggs/metrics/lib/make_nested_label.ts index 95bcdf6e99fd9..80f39d07e2389 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/make_nested_label.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/make_nested_label.ts @@ -17,7 +17,7 @@ * under the License. */ -import { startCase } from 'lodash'; +import { startCase } from 'lodash3'; import { IMetricAggConfig } from '../metric_agg_type'; export const makeNestedLabel = (aggConfig: IMetricAggConfig, label: string) => { diff --git a/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts b/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts index 18ee6b4de3204..5ae060390a659 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn } from 'lodash'; +import { forOwn } from 'lodash3'; import { ordinalSuffix } from './ordinal_suffix'; describe('ordinal suffix util', () => { diff --git a/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts b/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts index 947394c97bdcd..a138dc62be5f4 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { noop, identity } from 'lodash'; +import { noop, identity } from 'lodash3'; import { forwardModifyAggConfigOnSearchRequestStart } from './nested_agg_helpers'; import { IMetricAggConfig, MetricAggParam } from '../metric_agg_type'; diff --git a/src/plugins/data/public/search/aggs/metrics/lib/sibling_pipeline_agg_helper.ts b/src/plugins/data/public/search/aggs/metrics/lib/sibling_pipeline_agg_helper.ts index cee7841a8c3b9..3017ac3c3d0fc 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/sibling_pipeline_agg_helper.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/sibling_pipeline_agg_helper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash'; +import { identity } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { siblingPipelineAggWriter } from './sibling_pipeline_agg_writer'; import { forwardModifyAggConfigOnSearchRequestStart } from './nested_agg_helpers'; diff --git a/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts b/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts index 980d969a8ea0c..dc88ea4ae7375 100644 --- a/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts +++ b/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash'; +import { find } from 'lodash3'; import { IResponseAggConfig } from './lib/get_response_agg_config_class'; export const getPercentileValue = ( diff --git a/src/plugins/data/public/search/aggs/metrics/std_deviation.ts b/src/plugins/data/public/search/aggs/metrics/std_deviation.ts index 1733d5476f667..29f67cc827598 100644 --- a/src/plugins/data/public/search/aggs/metrics/std_deviation.ts +++ b/src/plugins/data/public/search/aggs/metrics/std_deviation.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { MetricAggType } from './metric_agg_type'; import { METRIC_TYPES } from './metric_agg_types'; diff --git a/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts b/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts index 49e0a3e4b349a..02f71d65a0fb5 100644 --- a/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts +++ b/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { dropRight, last } from 'lodash'; +import { dropRight, last } from 'lodash3'; import { getTopHitMetricAgg, TopHitMetricAggDependencies } from './top_hit'; import { AggConfigs } from '../agg_configs'; import { mockAggTypesRegistry } from '../test_helpers'; diff --git a/src/plugins/data/public/search/aggs/metrics/top_hit.ts b/src/plugins/data/public/search/aggs/metrics/top_hit.ts index c6890f98b20e4..c6b87c303e319 100644 --- a/src/plugins/data/public/search/aggs/metrics/top_hit.ts +++ b/src/plugins/data/public/search/aggs/metrics/top_hit.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { i18n } from '@kbn/i18n'; import { IMetricAggConfig, MetricAggType } from './metric_agg_type'; import { METRIC_TYPES } from './metric_agg_types'; diff --git a/src/plugins/data/public/search/aggs/param_types/json.ts b/src/plugins/data/public/search/aggs/param_types/json.ts index 461f3c300c1d3..9a939d22e76c3 100644 --- a/src/plugins/data/public/search/aggs/param_types/json.ts +++ b/src/plugins/data/public/search/aggs/param_types/json.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { IAggConfig } from '../agg_config'; import { BaseParamType } from './base'; diff --git a/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts b/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts index aa27bab8f4bd8..f5b8935240e1b 100644 --- a/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts +++ b/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapValues } from 'lodash'; +import { mapValues } from 'lodash3'; import { AnyExpressionFunctionDefinition, ExpressionFunctionDefinition, diff --git a/src/plugins/data/public/search/aggs/utils/prop_filter.ts b/src/plugins/data/public/search/aggs/utils/prop_filter.ts index cad5c437fc896..50d91878010f5 100644 --- a/src/plugins/data/public/search/aggs/utils/prop_filter.ts +++ b/src/plugins/data/public/search/aggs/utils/prop_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isFunction } from 'lodash'; +import { isFunction } from 'lodash3'; type FilterFunc

= (item: T[P]) => boolean; diff --git a/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts b/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts index 906b8862d00aa..6256ebd0dd3ea 100644 --- a/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts +++ b/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts @@ -17,7 +17,7 @@ * under the License. */ -import { set } from 'lodash'; +import { set } from 'lodash3'; import { FormattedData } from '../../../../../plugins/inspector/public'; import { TabbedTable } from '../tabify'; import { createFilter } from './create_filter'; diff --git a/src/plugins/data/public/search/expressions/esaggs.ts b/src/plugins/data/public/search/expressions/esaggs.ts index 153eb7de6f2de..29ac40a998b6d 100644 --- a/src/plugins/data/public/search/expressions/esaggs.ts +++ b/src/plugins/data/public/search/expressions/esaggs.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, has } from 'lodash'; +import { get, has } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { KibanaContext, diff --git a/src/plugins/data/public/search/search_source/search_source.ts b/src/plugins/data/public/search/search_source/search_source.ts index a33cda964bd1d..52db1fad7d260 100644 --- a/src/plugins/data/public/search/search_source/search_source.ts +++ b/src/plugins/data/public/search/search_source/search_source.ts @@ -69,7 +69,7 @@ * `appSearchSource`. */ -import { uniqueId, uniq, extend, pick, difference, omit, set, keys, isFunction } from 'lodash'; +import { uniqueId, uniq, extend, pick, difference, omit, set, keys, isFunction } from 'lodash3'; import { map } from 'rxjs/operators'; import { CoreStart } from 'kibana/public'; import { normalizeSortRequest } from './normalize_sort_request'; diff --git a/src/plugins/data/public/search/tabify/buckets.ts b/src/plugins/data/public/search/tabify/buckets.ts index e6e5ba4e68ea3..646a497c680f3 100644 --- a/src/plugins/data/public/search/tabify/buckets.ts +++ b/src/plugins/data/public/search/tabify/buckets.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isPlainObject, keys, findKey } from 'lodash'; +import { get, isPlainObject, keys, findKey } from 'lodash3'; import moment from 'moment'; import { IAggConfig } from '../aggs'; import { AggResponseBucket, TabbedRangeFilterParams, TimeRangeInformation } from './types'; diff --git a/src/plugins/data/public/search/tabify/get_columns.ts b/src/plugins/data/public/search/tabify/get_columns.ts index 8c538288d2fea..72efd02705424 100644 --- a/src/plugins/data/public/search/tabify/get_columns.ts +++ b/src/plugins/data/public/search/tabify/get_columns.ts @@ -17,7 +17,7 @@ * under the License. */ -import { groupBy } from 'lodash'; +import { groupBy } from 'lodash3'; import { IAggConfig } from '../aggs'; import { TabbedAggColumn } from './types'; diff --git a/src/plugins/data/public/search/tabify/response_writer.ts b/src/plugins/data/public/search/tabify/response_writer.ts index da9b59cc92791..8f4e15fbf2448 100644 --- a/src/plugins/data/public/search/tabify/response_writer.ts +++ b/src/plugins/data/public/search/tabify/response_writer.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isEmpty } from 'lodash'; +import { isEmpty } from 'lodash3'; import { IAggConfigs } from '../aggs'; import { tabifyGetColumns } from './get_columns'; diff --git a/src/plugins/data/public/search/tabify/tabify.ts b/src/plugins/data/public/search/tabify/tabify.ts index 9cb55f94537c5..e2434c0438cb7 100644 --- a/src/plugins/data/public/search/tabify/tabify.ts +++ b/src/plugins/data/public/search/tabify/tabify.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { TabbedAggResponseWriter } from './response_writer'; import { TabifyBuckets } from './buckets'; import { TabbedResponseWriterOptions } from './types'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx index 0e2bcc7581950..7e33be6aa41e8 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx @@ -34,7 +34,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { get } from 'lodash'; +import { get } from 'lodash3'; import React, { Component } from 'react'; import { GenericComboBox, GenericComboBoxProps } from './generic_combo_box'; import { diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx index 8e8054ac204d9..119bb7aabfab0 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx @@ -18,7 +18,7 @@ */ import React from 'react'; -import { debounce } from 'lodash'; +import { debounce } from 'lodash3'; import { withKibana, KibanaReactContextValue } from '../../../../../kibana_react/public'; import { IDataPluginServices, IIndexPattern, IFieldType } from '../../..'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx index ca94970afbafd..8eb4899a888d0 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx @@ -19,7 +19,7 @@ import { EuiFormRow } from '@elastic/eui'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { uniq } from 'lodash'; +import { uniq } from 'lodash3'; import React from 'react'; import { GenericComboBox, GenericComboBoxProps } from './generic_combo_box'; import { PhraseSuggestorUI, PhraseSuggestorProps } from './phrase_suggestor'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx index 7ca46f60bba5b..e5dd8ba59cbc2 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx @@ -19,7 +19,7 @@ import { EuiFormRow } from '@elastic/eui'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { uniq } from 'lodash'; +import { uniq } from 'lodash3'; import React from 'react'; import { GenericComboBox, GenericComboBoxProps } from './generic_combo_box'; import { PhraseSuggestorUI, PhraseSuggestorProps } from './phrase_suggestor'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx index 65b842f0bd4aa..24d1f92fdedad 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx @@ -19,7 +19,7 @@ import { EuiIcon, EuiLink, EuiFormHelpText, EuiFormControlLayoutDelimited } from '@elastic/eui'; import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { get } from 'lodash'; +import { get } from 'lodash3'; import React from 'react'; import { useKibana } from '../../../../../kibana_react/public'; import { IFieldType } from '../../..'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx index 3737dae1bf9ef..c7c7c88615480 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx @@ -19,7 +19,7 @@ import { EuiFieldNumber, EuiFieldText, EuiSelect } from '@elastic/eui'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { isEmpty } from 'lodash'; +import { isEmpty } from 'lodash3'; import React, { Component } from 'react'; import { validateParams } from './lib/filter_editor_utils'; diff --git a/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx b/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx index 20e3fdae5ce5f..36f06a1621b08 100644 --- a/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx +++ b/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import React, { Component } from 'react'; import { Required } from '@kbn/utility-types'; diff --git a/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts b/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts index 127dc0f1f41d3..98daa07e87948 100644 --- a/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts +++ b/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isEmpty } from 'lodash'; +import { isEmpty } from 'lodash3'; import { IUiSettingsClient, SavedObjectsClientContract } from 'src/core/public'; import { indexPatterns, IndexPatternAttributes } from '../..'; diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts b/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts index 12222ee7ad267..bac4d56256569 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts @@ -39,9 +39,9 @@ jest.mock('./fetch_index_patterns', () => ({ fetchIndexPatterns: mockFetchIndexPatterns, })); -import _ from 'lodash'; -// Using doMock to avoid hoisting so that I can override only the debounce method in lodash -jest.doMock('lodash', () => ({ +import _ from 'lodash3'; +// Using doMock to avoid hoisting so that I can override only the debounce method in lodash3 +jest.doMock('lodash3', () => ({ ..._, debounce: (func: () => any) => func, })); diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.tsx b/src/plugins/data/public/ui/query_string_input/query_string_input.tsx index 32295745ce217..7028072641984 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.tsx +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.tsx @@ -32,7 +32,7 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { debounce, compact, isEqual } from 'lodash'; +import { debounce, compact, isEqual } from 'lodash3'; import { Toast } from 'src/core/public'; import { IDataPluginServices, IIndexPattern, Query } from '../..'; import { QuerySuggestion, QuerySuggestionTypes } from '../../autocomplete'; diff --git a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx index c61625dc06c18..7dcdf98caa4da 100644 --- a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx +++ b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx @@ -34,7 +34,7 @@ import { EuiText, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { sortBy, isEqual } from 'lodash'; +import { sortBy, isEqual } from 'lodash3'; import { SavedQuery, SavedQueryService } from '../..'; import { SavedQueryAttributes } from '../../query'; diff --git a/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx b/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx index 6108de0280183..e93281879a70f 100644 --- a/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx +++ b/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx @@ -34,7 +34,7 @@ import { import { i18n } from '@kbn/i18n'; import React, { useEffect, useState, Fragment, useRef } from 'react'; -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash3'; import { SavedQuery, SavedQueryService } from '../..'; import { SavedQueryListItem } from './saved_query_list_item'; diff --git a/src/plugins/data/public/ui/search_bar/search_bar.tsx b/src/plugins/data/public/ui/search_bar/search_bar.tsx index a5ac227559115..bc9cec9917048 100644 --- a/src/plugins/data/public/ui/search_bar/search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/search_bar.tsx @@ -17,12 +17,12 @@ * under the License. */ -import { compact } from 'lodash'; +import { compact } from 'lodash3'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; import classNames from 'classnames'; import React, { Component } from 'react'; import ResizeObserver from 'resize-observer-polyfill'; -import { get, isEqual } from 'lodash'; +import { get, isEqual } from 'lodash3'; import { withKibana, KibanaReactContextValue } from '../../../../kibana_react/public'; diff --git a/src/plugins/data/public/ui/typeahead/suggestions_component.tsx b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx index 77dd7dcec01ee..6a7eff919e087 100644 --- a/src/plugins/data/public/ui/typeahead/suggestions_component.tsx +++ b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { isEmpty } from 'lodash'; +import { isEmpty } from 'lodash3'; import React, { Component } from 'react'; import { QuerySuggestion } from '../../autocomplete'; import { SuggestionComponent } from './suggestion_component'; diff --git a/src/plugins/data/server/autocomplete/value_suggestions_route.ts b/src/plugins/data/server/autocomplete/value_suggestions_route.ts index f68d7e1552ccb..72a314dd86490 100644 --- a/src/plugins/data/server/autocomplete/value_suggestions_route.ts +++ b/src/plugins/data/server/autocomplete/value_suggestions_route.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, map } from 'lodash'; +import { get, map } from 'lodash3'; import { schema } from '@kbn/config-schema'; import { IRouter, SharedGlobalConfig } from 'kibana/server'; diff --git a/src/plugins/data/server/field_formats/converters/date_server.ts b/src/plugins/data/server/field_formats/converters/date_server.ts index 85eb65dfc6a8d..bd5d80af91884 100644 --- a/src/plugins/data/server/field_formats/converters/date_server.ts +++ b/src/plugins/data/server/field_formats/converters/date_server.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { memoize, noop } from 'lodash'; +import { memoize, noop } from 'lodash3'; import moment from 'moment-timezone'; import { FieldFormat, diff --git a/src/plugins/data/server/field_formats/field_formats_service.ts b/src/plugins/data/server/field_formats/field_formats_service.ts index 70584efbee0a0..a4b4148e9db8d 100644 --- a/src/plugins/data/server/field_formats/field_formats_service.ts +++ b/src/plugins/data/server/field_formats/field_formats_service.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { has } from 'lodash'; +import { has } from 'lodash3'; import { FieldFormatsRegistry, FieldFormatInstanceType, diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts b/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts index e5a96c67c56b5..e2bb9b8ff320f 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts @@ -18,7 +18,7 @@ */ import Boom from 'boom'; -import { get } from 'lodash'; +import { get } from 'lodash3'; const ERR_ES_INDEX_NOT_FOUND = 'index_not_found_exception'; const ERR_NO_MATCHING_INDICES = 'no_matching_indices'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js index a0af7582ac6f3..3dca8dbdb9464 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js @@ -19,7 +19,7 @@ /* eslint import/no-duplicates: 0 */ import sinon from 'sinon'; -import { identity, shuffle, sortBy } from 'lodash'; +import { identity, shuffle, sortBy } from 'lodash3'; import { getFieldCapabilities } from '../field_capabilities'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts index d8c9466432204..27fcc8dd40cee 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults, indexBy, sortBy } from 'lodash'; +import { defaults, indexBy, sortBy } from 'lodash3'; import { APICaller } from 'kibana/server'; import { callFieldCapsApi } from '../es_api'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js index 1a4e2b1fe9ee2..69fcecf52c6bf 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js @@ -18,7 +18,7 @@ */ /* eslint import/no-duplicates: 0 */ -import { cloneDeep, omit } from 'lodash'; +import { cloneDeep, omit } from 'lodash3'; import sinon from 'sinon'; import * as shouldReadFieldFromDocValuesNS from './should_read_field_from_doc_values'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts index cb1ec6a2ebcf3..19c1a2a4bef12 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash'; +import { uniq } from 'lodash3'; import { castEsToKbnFieldTypeName } from '../../../../../common'; import { shouldReadFieldFromDocValues } from './should_read_field_from_doc_values'; import { FieldDescriptor } from '../../../fetcher'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts index 518bfeccac01a..974da07edde74 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts @@ -17,7 +17,7 @@ * under the License. */ -import { merge } from 'lodash'; +import { merge } from 'lodash3'; import { FieldDescriptor } from '../../index_patterns_fetcher'; const OVERRIDES: Record> = { diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js index 660e9ec30db6a..fa35d4090c792 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js +++ b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js @@ -19,7 +19,7 @@ /* eslint import/no-duplicates: 0 */ import sinon from 'sinon'; -import { noop } from 'lodash'; +import { noop } from 'lodash3'; import { callIndexAliasApi } from './es_api'; import * as callIndexAliasApiNS from './es_api'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts index 764307bef0ba6..6932882a434c7 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts @@ -17,7 +17,7 @@ * under the License. */ -import { chain } from 'lodash'; +import { chain } from 'lodash3'; import moment from 'moment'; import { APICaller } from 'kibana/server'; diff --git a/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts b/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts index 157716b38f523..3dc53b4a81bc5 100644 --- a/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts +++ b/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash3'; import { APICaller } from 'kibana/server'; import { DEFAULT_QUERY_LANGUAGE, UI_SETTINGS } from '../../../common'; diff --git a/src/plugins/data/server/saved_objects/index_pattern_migrations.ts b/src/plugins/data/server/saved_objects/index_pattern_migrations.ts index 37819a13b6518..7f522906b9dfe 100644 --- a/src/plugins/data/server/saved_objects/index_pattern_migrations.ts +++ b/src/plugins/data/server/saved_objects/index_pattern_migrations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flow, omit } from 'lodash'; +import { flow, omit } from 'lodash3'; import { SavedObjectMigrationFn } from 'kibana/server'; const migrateAttributeTypeAndAttributeTypeMeta: SavedObjectMigrationFn = (doc) => ({ diff --git a/src/plugins/data/server/saved_objects/search_migrations.ts b/src/plugins/data/server/saved_objects/search_migrations.ts index 2e37cd1255cee..10b85a860d0f4 100644 --- a/src/plugins/data/server/saved_objects/search_migrations.ts +++ b/src/plugins/data/server/saved_objects/search_migrations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flow, get } from 'lodash'; +import { flow, get } from 'lodash3'; import { SavedObjectMigrationFn } from 'kibana/server'; import { DEFAULT_QUERY_LANGUAGE } from '../../common'; diff --git a/src/plugins/dev_tools/public/plugin.ts b/src/plugins/dev_tools/public/plugin.ts index 130d07b441b83..3d0ef64819ad9 100644 --- a/src/plugins/dev_tools/public/plugin.ts +++ b/src/plugins/dev_tools/public/plugin.ts @@ -20,7 +20,7 @@ import { BehaviorSubject } from 'rxjs'; import { AppUpdater, CoreSetup, Plugin } from 'kibana/public'; import { i18n } from '@kbn/i18n'; -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; import { KibanaLegacySetup } from '../../kibana_legacy/public'; import { CreateDevToolArgs, DevToolApp, createDevToolApp } from './dev_tool'; import { AppNavLinkStatus, DEFAULT_APP_CATEGORIES } from '../../../core/public'; diff --git a/src/plugins/discover/public/application/angular/context.js b/src/plugins/discover/public/application/angular/context.js index a6f591eebb52d..2db7735dbc091 100644 --- a/src/plugins/discover/public/application/angular/context.js +++ b/src/plugins/discover/public/application/angular/context.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { CONTEXT_DEFAULT_SIZE_SETTING } from '../../../common'; import { getAngularModule, getServices } from '../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/api/anchor.js b/src/plugins/discover/public/application/angular/context/api/anchor.js index 4df5ba989f798..74aa2404497fc 100644 --- a/src/plugins/discover/public/application/angular/context/api/anchor.js +++ b/src/plugins/discover/public/application/angular/context/api/anchor.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; export function fetchAnchorProvider(indexPatterns, searchSource) { diff --git a/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js b/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js index fcde2ade0b2c6..2e656a7bb3caf 100644 --- a/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js +++ b/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import * as _ from 'lodash'; +import * as _ from 'lodash4'; import { createIndexPatternsStub, createContextSearchSourceStub } from './_stubs'; import { fetchContextProvider } from './context'; import { setServices } from '../../../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/api/context.successors.test.js b/src/plugins/discover/public/application/angular/context/api/context.successors.test.js index 0f84aa82a989a..64ed20c06d670 100644 --- a/src/plugins/discover/public/application/angular/context/api/context.successors.test.js +++ b/src/plugins/discover/public/application/angular/context/api/context.successors.test.js @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import * as _ from 'lodash'; +import * as _ from 'lodash4'; import { createIndexPatternsStub, createContextSearchSourceStub } from './_stubs'; import { setServices } from '../../../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/query/actions.js b/src/plugins/discover/public/application/angular/context/query/actions.js index 0e057e0a715c4..b639e73e3c097 100644 --- a/src/plugins/discover/public/application/angular/context/query/actions.js +++ b/src/plugins/discover/public/application/angular/context/query/actions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { getServices } from '../../../../kibana_services'; @@ -70,7 +70,7 @@ export function QueryActionsProvider(Promise) { setLoadingStatus(state)('anchor'); return Promise.try(() => - fetchAnchor(indexPatternId, anchorId, [_.zipObject([sort]), { [tieBreakerField]: sort[1] }]) + fetchAnchor(indexPatternId, anchorId, [_.fromPairs([sort]), { [tieBreakerField]: sort[1] }]) ).then( (anchorDocument) => { setLoadedStatus(state)('anchor'); diff --git a/src/plugins/discover/public/application/angular/context/query_parameters/actions.js b/src/plugins/discover/public/application/angular/context/query_parameters/actions.js index fcd4b8ac02cfb..a0fc64ad12ad4 100644 --- a/src/plugins/discover/public/application/angular/context/query_parameters/actions.js +++ b/src/plugins/discover/public/application/angular/context/query_parameters/actions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { esFilters } from '../../../../../../data/public'; import { MAX_CONTEXT_SIZE, MIN_CONTEXT_SIZE, QUERY_PARAMETER_KEYS } from './constants'; diff --git a/src/plugins/discover/public/application/angular/context_app.js b/src/plugins/discover/public/application/angular/context_app.js index f698ed84a8948..274eff2ffa24c 100644 --- a/src/plugins/discover/public/application/angular/context_app.js +++ b/src/plugins/discover/public/application/angular/context_app.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { CONTEXT_STEP_SETTING, CONTEXT_TIE_BREAKER_FIELDS_SETTING } from '../../../common'; import { getAngularModule, getServices } from '../../kibana_services'; import contextAppTemplate from './context_app.html'; diff --git a/src/plugins/discover/public/application/angular/context_state.ts b/src/plugins/discover/public/application/angular/context_state.ts index 7a92a6ace125b..fa76d31e66de9 100644 --- a/src/plugins/discover/public/application/angular/context_state.ts +++ b/src/plugins/discover/public/application/angular/context_state.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { History } from 'history'; import { createStateContainer, diff --git a/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts b/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts index 16fbb0af9f3fd..edbc7affd3215 100644 --- a/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts +++ b/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; import { IScope } from 'angular'; diff --git a/src/plugins/discover/public/application/angular/directives/debounce/debounce.js b/src/plugins/discover/public/application/angular/directives/debounce/debounce.js index 586e8ed4fab59..b41ba00cd7e80 100644 --- a/src/plugins/discover/public/application/angular/directives/debounce/debounce.js +++ b/src/plugins/discover/public/application/angular/directives/debounce/debounce.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // Debounce service, angularized version of lodash debounce // borrowed heavily from https://github.com/shahata/angular-debounce diff --git a/src/plugins/discover/public/application/angular/directives/fixed_scroll.js b/src/plugins/discover/public/application/angular/directives/fixed_scroll.js index 182b4aeca9a23..d8fbfbf42b89e 100644 --- a/src/plugins/discover/public/application/angular/directives/fixed_scroll.js +++ b/src/plugins/discover/public/application/angular/directives/fixed_scroll.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import { DebounceProvider } from './debounce'; const SCROLLER_HEIGHT = 20; diff --git a/src/plugins/discover/public/application/angular/discover.js b/src/plugins/discover/public/application/angular/discover.js index 8ff5af1e3a767..7caac582da1e2 100644 --- a/src/plugins/discover/public/application/angular/discover.js +++ b/src/plugins/discover/public/application/angular/discover.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import React from 'react'; import { Subscription, Subject, merge } from 'rxjs'; import { debounceTime } from 'rxjs/operators'; diff --git a/src/plugins/discover/public/application/angular/discover_state.ts b/src/plugins/discover/public/application/angular/discover_state.ts index 46500d9fdf85e..79cd8f397b054 100644 --- a/src/plugins/discover/public/application/angular/discover_state.ts +++ b/src/plugins/discover/public/application/angular/discover_state.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isEqual } from 'lodash'; +import { isEqual } from 'lodash4'; import { History } from 'history'; import { createStateContainer, diff --git a/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts b/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts index b1e6d27d76656..bff18b865e658 100644 --- a/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts +++ b/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import $ from 'jquery'; // @ts-ignore import rison from 'rison-node'; diff --git a/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts b/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts index c28519692318e..30dc7f97b1b0f 100644 --- a/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts +++ b/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { IndexPattern } from '../../../../../../data/public'; export type SortPairObj = Record; diff --git a/src/plugins/discover/public/application/angular/get_painless_error.ts b/src/plugins/discover/public/application/angular/get_painless_error.ts index e1e98d9df27b1..ccdc2443c01eb 100644 --- a/src/plugins/discover/public/application/angular/get_painless_error.ts +++ b/src/plugins/discover/public/application/angular/get_painless_error.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { get } from 'lodash'; +import { get } from 'lodash4'; export function getPainlessError(error: Error) { const rootCause: Array<{ lang: string; script: string }> | undefined = get( diff --git a/src/plugins/discover/public/application/angular/helpers/point_series.ts b/src/plugins/discover/public/application/angular/helpers/point_series.ts index 4c280bf43ea12..a963a2fa43447 100644 --- a/src/plugins/discover/public/application/angular/helpers/point_series.ts +++ b/src/plugins/discover/public/application/angular/helpers/point_series.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash'; +import { uniq } from 'lodash4'; import { Duration, Moment } from 'moment'; import { Unit } from '@elastic/datemath'; diff --git a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx index 90ade60d2073d..0a2edcf69f90b 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx +++ b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { ReactWrapper } from 'enzyme'; // @ts-ignore import { findTestSubject } from '@elastic/eui/lib/test'; diff --git a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx index 96e04c13d70e9..58092960107db 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx +++ b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx @@ -20,7 +20,7 @@ import './discover_sidebar.scss'; import React, { useCallback, useEffect, useState, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButtonIcon, EuiTitle } from '@elastic/eui'; -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; import { FormattedMessage, I18nProvider } from '@kbn/i18n/react'; import { DiscoverField } from './discover_field'; import { DiscoverIndexPattern } from './discover_index_pattern'; diff --git a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js index e055d644e1f91..eb09ba5bffe0b 100644 --- a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js +++ b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; function getFieldValues(hits, field) { diff --git a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts index 875cbf4075aa2..8cc5f384672e4 100644 --- a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts +++ b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // @ts-ignore import realHits from 'fixtures/real_hits.js'; // @ts-ignore @@ -186,7 +186,7 @@ describe('fieldCalculator', function () { expect(extensions).toBeInstanceOf(Object); expect(extensions.buckets).toBeInstanceOf(Array); expect(extensions.buckets.length).toBe(3); - expect(_.pluck(extensions.buckets, 'value')).toEqual(['html', 'php', 'gif']); + expect(_.map(extensions.buckets, 'value')).toEqual(['html', 'php', 'gif']); expect(extensions.error).toBe(undefined); }); diff --git a/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts b/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts index 0fcbe925e0798..19995babd9c9e 100644 --- a/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts +++ b/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { difference, map } from 'lodash'; +import { difference, map } from 'lodash4'; import { IndexPattern, IndexPatternField } from 'src/plugins/data/public'; import { DiscoverServices } from '../../../../build_services'; diff --git a/src/plugins/discover/public/application/components/table/table.tsx b/src/plugins/discover/public/application/components/table/table.tsx index 9b95f2fc6bd27..4733727aac25c 100644 --- a/src/plugins/discover/public/application/components/table/table.tsx +++ b/src/plugins/discover/public/application/components/table/table.tsx @@ -17,7 +17,7 @@ * under the License. */ import React, { useState } from 'react'; -import { escapeRegExp } from 'lodash'; +import { escapeRegExp } from 'lodash4'; import { DocViewTableRow } from './table_row'; import { arrayContainsObjects, trimAngularSpan } from './table_helper'; import { DocViewRenderProps } from '../../doc_views/doc_views_types'; diff --git a/src/plugins/discover/public/application/embeddable/search_embeddable.ts b/src/plugins/discover/public/application/embeddable/search_embeddable.ts index e03a6b938bc4f..8e750e2e16550 100644 --- a/src/plugins/discover/public/application/embeddable/search_embeddable.ts +++ b/src/plugins/discover/public/application/embeddable/search_embeddable.ts @@ -18,7 +18,7 @@ */ import './search_embeddable.scss'; import angular from 'angular'; -import _ from 'lodash'; +import _ from 'lodash4'; import * as Rx from 'rxjs'; import { Subscription } from 'rxjs'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/discover/public/kibana_services.ts b/src/plugins/discover/public/kibana_services.ts index bbd0357f41ed4..c7929de2ac062 100644 --- a/src/plugins/discover/public/kibana_services.ts +++ b/src/plugins/discover/public/kibana_services.ts @@ -16,6 +16,8 @@ * specific language governing permissions and limitations * under the License. */ + +import _ from 'lodash4'; import { createHashHistory } from 'history'; import { ScopedHistory } from 'kibana/public'; import { DiscoverServices } from './build_services'; diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx index 9c544e86e189a..6572525fa6083 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, isEqual } from 'lodash'; +import { cloneDeep, isEqual } from 'lodash4'; import * as Rx from 'rxjs'; import { Adapters, ViewMode } from '../types'; import { IContainer } from '../containers'; diff --git a/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js b/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js index 18e9ffcb27c56..b38900aece94d 100644 --- a/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js +++ b/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js @@ -19,7 +19,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import { padLeft } from 'lodash'; +import { padStart } from 'lodash4'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; @@ -55,12 +55,12 @@ function makeSequence(min, max) { const MINUTE_OPTIONS = makeSequence(0, 59).map((value) => ({ value: value.toString(), - text: padLeft(value, 2, '0'), + text: padStart(value, 2, '0'), })); const HOUR_OPTIONS = makeSequence(0, 23).map((value) => ({ value: value.toString(), - text: padLeft(value, 2, '0'), + text: padStart(value, 2, '0'), })); const DAY_OPTIONS = makeSequence(1, 7).map((value) => ({ diff --git a/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx b/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx index 8c63cc8494a8b..19986d63c1893 100644 --- a/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx +++ b/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx @@ -19,7 +19,7 @@ import React, { useCallback } from 'react'; import { EuiFormRow, EuiCodeEditor } from '@elastic/eui'; -import { debounce } from 'lodash'; +import { debounce } from 'lodash4'; import { isJSON } from '../../../static/validators/string'; import { useJson, OnJsonEditorUpdateHandler } from './use_json'; diff --git a/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts b/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts index 951cf5fa279b5..9e31e6661888d 100644 --- a/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts +++ b/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts @@ -17,7 +17,7 @@ * under the License. */ -import * as _ from 'lodash'; +import * as _ from 'lodash4'; import ace from 'brace'; import 'brace/mode/json'; diff --git a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts index 419e80ad1608f..59d9a31109581 100644 --- a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts +++ b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // @ts-ignore import collapsingTests from './utils_string_collapsing.txt'; // @ts-ignore diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts index f9286d99cbf80..2bb4461dbfe56 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts @@ -18,7 +18,7 @@ */ import { useState, useRef, useEffect, useMemo } from 'react'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { FormHook, FieldHook, FormData, FieldConfig, FieldsMap, FormConfig } from '../types'; import { mapFormFields, unflattenObject, Subject, Subscription } from '../lib'; diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts index 65cd7792a0189..fcbd1311c655e 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { set } from 'lodash'; +import { set } from 'lodash4'; import { FieldHook } from '../types'; export const unflattenObject = (object: any) => diff --git a/src/plugins/expressions/common/execution/execution.ts b/src/plugins/expressions/common/execution/execution.ts index 7bfb14b8bfa1c..95d2a1ba7c6f6 100644 --- a/src/plugins/expressions/common/execution/execution.ts +++ b/src/plugins/expressions/common/execution/execution.ts @@ -17,7 +17,7 @@ * under the License. */ -import { keys, last, mapValues, reduce, zipObject } from 'lodash'; +import { keys, last, mapValues, reduce, zipObject } from 'lodash4'; import { Executor } from '../executor'; import { createExecutionContainer, ExecutionContainer } from './container'; import { createError } from '../util'; diff --git a/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts b/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts index b8be273d7bbd3..7b0180ff47d81 100644 --- a/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts +++ b/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { uniq } from 'lodash'; +import { uniqBy } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition } from '../../expression_functions'; import { KibanaContext } from '../../expression_types'; @@ -40,9 +40,9 @@ const getParsedValue = (data: any, defaultValue: any) => typeof data === 'string' && data.length ? JSON.parse(data) || defaultValue : defaultValue; const mergeQueries = (first: Query | Query[] = [], second: Query | Query[]) => - uniq( + uniqBy( [...(Array.isArray(first) ? first : [first]), ...(Array.isArray(second) ? second : [second])], - (n: any) => JSON.stringify(n.query) + (n: any) => JSON.stringify(n.query) as any ); export const kibanaContextFunction: ExpressionFunctionKibanaContext = { diff --git a/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts b/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts index 016208aefdfc6..7d2def0ef4685 100644 --- a/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts +++ b/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapValues } from 'lodash'; +import { mapValues } from 'lodash4'; import { AnyExpressionFunctionDefinition } from '../../types'; import { ExecutionContext } from '../../../execution/types'; diff --git a/src/plugins/expressions/common/expression_types/specs/datatable.ts b/src/plugins/expressions/common/expression_types/specs/datatable.ts index c113765f8e7e7..f30c106b10018 100644 --- a/src/plugins/expressions/common/expression_types/specs/datatable.ts +++ b/src/plugins/expressions/common/expression_types/specs/datatable.ts @@ -17,7 +17,7 @@ * under the License. */ -import { map, pick, zipObject } from 'lodash'; +import { map, pick, zipObject } from 'lodash4'; import { ExpressionTypeDefinition } from '../types'; import { PointSeries } from './pointseries'; @@ -109,7 +109,7 @@ export const datatable: ExpressionTypeDefinition ({ type: name, rows: value.rows, - columns: map(value.columns, (val, colName) => { + columns: map(value.columns, (val: any, colName) => { return { name: colName!, type: val.type }; }), }), diff --git a/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts b/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts index 7f2f3c37c587c..3dbdafc3cc420 100644 --- a/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts +++ b/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts @@ -17,7 +17,7 @@ * under the License. */ -import { map } from 'lodash'; +import { map } from 'lodash4'; import { SerializedFieldFormat } from '../../types/common'; import { Datatable, PointSeries } from '.'; @@ -62,7 +62,7 @@ export const kibanaDatatable = { }; }, pointseries: (context: PointSeries) => { - const columns = map(context.columns, (column, n) => { + const columns = map(context.columns, (column: any, n) => { return { id: n, name: n, ...column }; }); return { diff --git a/src/plugins/expressions/public/loader.ts b/src/plugins/expressions/public/loader.ts index 9428d7db1d9d0..76a5adcbe62e1 100644 --- a/src/plugins/expressions/public/loader.ts +++ b/src/plugins/expressions/public/loader.ts @@ -19,6 +19,7 @@ import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { filter, map } from 'rxjs/operators'; +import { defaults } from 'lodash4'; import { Adapters } from '../../inspector/public'; import { IExpressionLoaderParams } from './types'; import { ExpressionAstExpression } from '../common'; @@ -168,7 +169,7 @@ export class ExpressionLoader { } if (params.searchContext) { - this.params.searchContext = _.defaults( + this.params.searchContext = defaults( {}, params.searchContext, this.params.searchContext || {} diff --git a/src/plugins/home/public/application/components/sample_data_set_cards.js b/src/plugins/home/public/application/components/sample_data_set_cards.js index 255fc57054083..55d9b5eae29f7 100644 --- a/src/plugins/home/public/application/components/sample_data_set_cards.js +++ b/src/plugins/home/public/application/components/sample_data_set_cards.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import React from 'react'; import PropTypes from 'prop-types'; import { EuiFlexGrid, EuiFlexItem } from '@elastic/eui'; diff --git a/src/plugins/home/public/application/components/tutorial/tutorial.js b/src/plugins/home/public/application/components/tutorial/tutorial.js index 576f732278b8e..6b17105b9b716 100644 --- a/src/plugins/home/public/application/components/tutorial/tutorial.js +++ b/src/plugins/home/public/application/components/tutorial/tutorial.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import React from 'react'; import PropTypes from 'prop-types'; import { Footer } from './footer'; diff --git a/src/plugins/home/public/application/components/tutorial_directory.js b/src/plugins/home/public/application/components/tutorial_directory.js index 774b23af11ac8..94498d289a771 100644 --- a/src/plugins/home/public/application/components/tutorial_directory.js +++ b/src/plugins/home/public/application/components/tutorial_directory.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import React from 'react'; import PropTypes from 'prop-types'; import { Synopsis } from './synopsis'; diff --git a/src/plugins/home/public/application/load_tutorials.js b/src/plugins/home/public/application/load_tutorials.js index 6d42c9a1072d6..27cea7ccf71e2 100644 --- a/src/plugins/home/public/application/load_tutorials.js +++ b/src/plugins/home/public/application/load_tutorials.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { getServices } from './kibana_services'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/home/server/services/sample_data/routes/uninstall.ts b/src/plugins/home/server/services/sample_data/routes/uninstall.ts index 9bb260460b38a..327710e1cb0bf 100644 --- a/src/plugins/home/server/services/sample_data/routes/uninstall.ts +++ b/src/plugins/home/server/services/sample_data/routes/uninstall.ts @@ -17,7 +17,7 @@ * under the License. */ import { schema } from '@kbn/config-schema'; -import _ from 'lodash'; +import _ from 'lodash4'; import { IRouter } from 'src/core/server'; import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; import { createIndexName } from '../lib/create_index_name'; diff --git a/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts b/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts index 4c7316c853018..3428d569b3130 100644 --- a/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts +++ b/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import moment from 'moment'; interface SearchHit { diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts index 9f75dc39a654c..859d4f290a0f6 100644 --- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts +++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, sortBy } from 'lodash'; +import { get, sortBy } from 'lodash4'; import { IndexPatternCreationConfig } from '../../../../../index_pattern_management/public'; import { DataPublicPluginStart } from '../../../../../data/public'; import { MatchedIndex } from '../types'; diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx b/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx index eab8b2c231c9c..39b69b4a943fd 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { filter } from 'lodash'; +import { filter } from 'lodash4'; import React, { useEffect, useState, useCallback } from 'react'; import { withRouter, RouteComponentProps } from 'react-router-dom'; import { diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts b/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts index 861017d99962e..01cc751c053cf 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { IIndexPattern } from '../../../../../../data/public'; export function getFieldFormat(indexPattern?: IIndexPattern, fieldName?: string): string { diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx b/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx index 51ca59ee7b032..aa7180a55fb4d 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx @@ -18,7 +18,7 @@ */ import React, { PureComponent } from 'react'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { EuiInMemoryTable, EuiBasicTableColumn } from '@elastic/eui'; diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts b/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts index 52cd5b0c3f5bd..8998f8f98addc 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { Dictionary, countBy, defaults, unique } from 'lodash'; +import { Dictionary, countBy, defaults, uniq } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { IndexPattern, IndexPatternField } from '../../../../../../plugins/data/public'; import { IndexPatternManagementStart } from '../../../../../../plugins/index_pattern_management/public'; @@ -145,7 +145,7 @@ export function convertToEuiSelectOption(options: string[], type: string) { ] : []; return euiOptions.concat( - unique(options).map((option) => { + uniq(options).map((option) => { return { value: option, text: option, diff --git a/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx b/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx index 5ae50098e79e7..26f3aa61a95cd 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx +++ b/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx @@ -18,7 +18,7 @@ */ import React, { PureComponent, Fragment } from 'react'; -import { intersection, union, get } from 'lodash'; +import { intersection, union, get } from 'lodash4'; import { EuiBasicTable, diff --git a/src/plugins/input_control_vis/public/components/editor/field_select.tsx b/src/plugins/input_control_vis/public/components/editor/field_select.tsx index 2885cbf24553f..18062d5a56ef7 100644 --- a/src/plugins/input_control_vis/public/components/editor/field_select.tsx +++ b/src/plugins/input_control_vis/public/components/editor/field_select.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import React, { Component } from 'react'; import { InjectedIntlProps } from 'react-intl'; diff --git a/src/plugins/input_control_vis/public/components/vis/list_control.tsx b/src/plugins/input_control_vis/public/components/vis/list_control.tsx index 8ca93a302be89..9d68c67f4aac3 100644 --- a/src/plugins/input_control_vis/public/components/vis/list_control.tsx +++ b/src/plugins/input_control_vis/public/components/vis/list_control.tsx @@ -18,7 +18,7 @@ */ import React, { PureComponent } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { injectI18n } from '@kbn/i18n/react'; import { InjectedIntlProps } from 'react-intl'; diff --git a/src/plugins/input_control_vis/public/components/vis/range_control.tsx b/src/plugins/input_control_vis/public/components/vis/range_control.tsx index f028feaf5f84f..fe1dd94ab87d7 100644 --- a/src/plugins/input_control_vis/public/components/vis/range_control.tsx +++ b/src/plugins/input_control_vis/public/components/vis/range_control.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import React, { PureComponent } from 'react'; import { ValidatedDualRange } from '../../../../kibana_react/public'; import { FormRow } from './form_row'; diff --git a/src/plugins/input_control_vis/public/control/control.ts b/src/plugins/input_control_vis/public/control/control.ts index 1e1e05c96cc1a..c6c8be659dac5 100644 --- a/src/plugins/input_control_vis/public/control/control.ts +++ b/src/plugins/input_control_vis/public/control/control.ts @@ -19,7 +19,7 @@ /* eslint-disable no-multi-str*/ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { Filter } from 'src/plugins/data/public'; diff --git a/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts index ece3f7a88ba37..4ea70dd4652de 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { FilterManager as QueryFilterManager, IndexPattern, Filter } from '../../../../data/public'; diff --git a/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts index 4eff5112c0c07..7856415f66295 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { FilterManager } from './filter_manager'; import { @@ -86,11 +86,11 @@ export class PhraseFilterManager extends FilterManager { private getValueFromFilter(kbnFilter: PhraseFilter): any { // bool filter - multiple phrase filters if (_.has(kbnFilter, 'query.bool.should')) { - return _.get(kbnFilter, 'query.bool.should') - .map((kbnQueryFilter) => { + return _.get(kbnFilter, 'query.bool.should') + .map((kbnQueryFilter: any) => { return this.getValueFromFilter(kbnQueryFilter); }) - .filter((value) => { + .filter((value: any) => { if (value) { return true; } diff --git a/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts index 1a884cf267c41..b6d91445d3c44 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { FilterManager } from './filter_manager'; import { esFilters, RangeFilter, RangeFilterParams, IFieldType } from '../../../../data/public'; diff --git a/src/plugins/input_control_vis/public/control/list_control_factory.ts b/src/plugins/input_control_vis/public/control/list_control_factory.ts index 65a3e37a93edf..dc8158f75a58f 100644 --- a/src/plugins/input_control_vis/public/control/list_control_factory.ts +++ b/src/plugins/input_control_vis/public/control/list_control_factory.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { IFieldType, diff --git a/src/plugins/input_control_vis/public/control/range_control_factory.ts b/src/plugins/input_control_vis/public/control/range_control_factory.ts index eac79ca5fcca8..22f87db1a8298 100644 --- a/src/plugins/input_control_vis/public/control/range_control_factory.ts +++ b/src/plugins/input_control_vis/public/control/range_control_factory.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { IFieldType, TimefilterContract, DataPublicPluginStart } from 'src/plugins/data/public'; diff --git a/src/plugins/input_control_vis/public/lineage/lineage_map.ts b/src/plugins/input_control_vis/public/lineage/lineage_map.ts index c6c8bc88308b8..67926171d2980 100644 --- a/src/plugins/input_control_vis/public/lineage/lineage_map.ts +++ b/src/plugins/input_control_vis/public/lineage/lineage_map.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { ControlParams } from '../editor_utils'; export function getLineageMap(controlParamsList: ControlParams[]) { diff --git a/src/plugins/inspector/common/adapters/request/request_adapter.ts b/src/plugins/inspector/common/adapters/request/request_adapter.ts index 70af6b5b51d18..af10d1b77b16d 100644 --- a/src/plugins/inspector/common/adapters/request/request_adapter.ts +++ b/src/plugins/inspector/common/adapters/request/request_adapter.ts @@ -18,7 +18,6 @@ */ import { EventEmitter } from 'events'; -import _ from 'lodash'; import uuid from 'uuid/v4'; import { RequestResponder } from './request_responder'; import { Request, RequestParams, RequestStatus } from './types'; diff --git a/src/plugins/inspector/public/views/data/lib/export_csv.ts b/src/plugins/inspector/public/views/data/lib/export_csv.ts index c0e0153c6053e..65815d2a7dcd3 100644 --- a/src/plugins/inspector/public/views/data/lib/export_csv.ts +++ b/src/plugins/inspector/public/views/data/lib/export_csv.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isObject } from 'lodash'; +import { isObject } from 'lodash4'; // @ts-ignore import { saveAs } from '@elastic/filesaver'; @@ -29,7 +29,7 @@ const allDoubleQuoteRE = /"/g; function escape(val: string, quoteValues: boolean) { if (isObject(val)) { - val = val.valueOf(); + val = (val as any).valueOf(); } val = String(val); diff --git a/src/plugins/kibana_legacy/public/angular/angular_config.tsx b/src/plugins/kibana_legacy/public/angular/angular_config.tsx index 25cbb0631a652..4422fb8222873 100644 --- a/src/plugins/kibana_legacy/public/angular/angular_config.tsx +++ b/src/plugins/kibana_legacy/public/angular/angular_config.tsx @@ -26,7 +26,7 @@ import { IRootScopeService, } from 'angular'; import $ from 'jquery'; -import { cloneDeep, forOwn, get, set } from 'lodash'; +import { cloneDeep, forOwn, get, set } from 'lodash4'; import * as Rx from 'rxjs'; import { ChromeBreadcrumb, EnvironmentMode, PackageInfo } from 'kibana/public'; import { History } from 'history'; diff --git a/src/plugins/kibana_legacy/public/angular/promises.js b/src/plugins/kibana_legacy/public/angular/promises.js index f5d188e227ca8..4610b823d5ad2 100644 --- a/src/plugins/kibana_legacy/public/angular/promises.js +++ b/src/plugins/kibana_legacy/public/angular/promises.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function PromiseServiceCreator($q, $timeout) { function Promise(fn) { diff --git a/src/plugins/kibana_legacy/public/angular/watch_multi.js b/src/plugins/kibana_legacy/public/angular/watch_multi.js index ed5f0288c0e93..d011f49dd1763 100644 --- a/src/plugins/kibana_legacy/public/angular/watch_multi.js +++ b/src/plugins/kibana_legacy/public/angular/watch_multi.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function watchMultiDecorator($provide) { $provide.decorator('$rootScope', function ($delegate) { diff --git a/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts b/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts index 1f15107a02762..ee66e23c7e6cd 100644 --- a/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts +++ b/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts @@ -1,6 +1,6 @@ /* eslint-disable */ -import { once } from 'lodash'; +import { once } from 'lodash4'; import angular from 'angular'; // @ts-ignore diff --git a/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts b/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts index 7305bec5348e5..eebf5bb435b33 100644 --- a/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts +++ b/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; const getRootCause = (err: Record | string) => _.get(err, 'resp.error.root_cause'); diff --git a/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts b/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts index afc1b9cbf1dd6..9e7dafbff0834 100644 --- a/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts +++ b/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { formatESMsg } from './format_es_msg'; const has = _.has; diff --git a/src/plugins/kibana_legacy/public/paginate/paginate.js b/src/plugins/kibana_legacy/public/paginate/paginate.js index ea93a969d08c7..738cc1c24ad64 100644 --- a/src/plugins/kibana_legacy/public/paginate/paginate.js +++ b/src/plugins/kibana_legacy/public/paginate/paginate.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import paginateControlsTemplate from './paginate_controls.html'; diff --git a/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts b/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts index 8d9b50d5a66b2..c4abb5ee3736d 100644 --- a/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts +++ b/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts @@ -17,7 +17,7 @@ * under the License. */ -import { has } from 'lodash'; +import { has } from 'lodash4'; import { Query } from 'src/plugins/data/public'; /** diff --git a/src/plugins/kibana_legacy/public/utils/private.js b/src/plugins/kibana_legacy/public/utils/private.js index 8119a73215796..d60f072d0830a 100644 --- a/src/plugins/kibana_legacy/public/utils/private.js +++ b/src/plugins/kibana_legacy/public/utils/private.js @@ -93,7 +93,7 @@ * * @param {[type]} prov [description] */ -import _ from 'lodash'; +import _ from 'lodash4'; const nextId = _.partial(_.uniqueId, 'privateProvider#'); diff --git a/src/plugins/kibana_legacy/server/index.ts b/src/plugins/kibana_legacy/server/index.ts index 0188f9b1ec515..ae891880f1475 100644 --- a/src/plugins/kibana_legacy/server/index.ts +++ b/src/plugins/kibana_legacy/server/index.ts @@ -23,7 +23,7 @@ import { CoreStart, PluginConfigDescriptor, } from 'kibana/server'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { configSchema, ConfigSchema } from '../config'; diff --git a/src/plugins/kibana_react/public/markdown/markdown.tsx b/src/plugins/kibana_react/public/markdown/markdown.tsx index 15d1c4931e60b..1570bb5bd8633 100644 --- a/src/plugins/kibana_react/public/markdown/markdown.tsx +++ b/src/plugins/kibana_react/public/markdown/markdown.tsx @@ -20,7 +20,7 @@ import classNames from 'classnames'; import React, { PureComponent } from 'react'; import MarkdownIt from 'markdown-it'; -import { memoize } from 'lodash'; +import { memoize } from 'lodash4'; import { getSecureRelForTarget } from '@elastic/eui'; import './index.scss'; diff --git a/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx b/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx index 87fdf0730c880..0e7fed2811d11 100644 --- a/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx +++ b/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx @@ -20,7 +20,7 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { debounce, indexBy, sortBy, uniq } from 'lodash'; +import { debounce, keyBy, sortBy, uniq } from 'lodash4'; import { EuiTitle, EuiInMemoryTable, @@ -178,7 +178,7 @@ class TableListView extends React.Component itemsById[id])); } catch (error) { this.props.toastNotifications.addDanger({ diff --git a/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts b/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts index 804c8b0ed2026..a940eb4e13153 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts @@ -26,7 +26,7 @@ * Unifying this logic from Monitoring that makes sense to have in OSS here and we will import it on the monitoring side to reuse it. */ -import { snakeCase } from 'lodash'; +import { snakeCase } from 'lodash4'; import { APICaller } from 'kibana/server'; const TYPES = [ diff --git a/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts b/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts index df9d6eb146eab..e7b936bfdabea 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts @@ -18,7 +18,7 @@ */ import { Observable } from 'rxjs'; -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import moment from 'moment'; import { OpsMetrics } from 'kibana/server'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; diff --git a/src/plugins/kibana_utils/common/url/encode_uri_query.ts b/src/plugins/kibana_utils/common/url/encode_uri_query.ts index fb60f0ceff10f..8f8bdc6acec56 100644 --- a/src/plugins/kibana_utils/common/url/encode_uri_query.ts +++ b/src/plugins/kibana_utils/common/url/encode_uri_query.ts @@ -18,7 +18,7 @@ */ import { ParsedQuery } from 'query-string'; -import { transform } from 'lodash'; +import { transform } from 'lodash4'; /** * This method is intended for encoding *key* or *value* parts of query component. We need a custom @@ -45,7 +45,7 @@ export const encodeQuery = ( query: ParsedQuery, encodeFunction: (val: string, pctEncodeSpaces?: boolean) => string = encodeUriQuery ) => - transform(query, (result, value, key) => { + transform(query, (result: any, value, key) => { if (key) { const singleValue = Array.isArray(value) ? value.join(',') : value; diff --git a/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts b/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts index 2aa9a255bd5cf..abf07d3c7fcae 100644 --- a/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts +++ b/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts @@ -17,7 +17,7 @@ * under the License. */ -import { escapeRegExp, memoize } from 'lodash'; +import { escapeRegExp, memoize } from 'lodash4'; export const makeRegEx = memoize(function makeRegEx(glob: string) { const globRegex = glob.split('*').map(escapeRegExp).join('.*'); diff --git a/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts b/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts index bc514474e73fb..27114ff09804e 100644 --- a/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts +++ b/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts @@ -18,7 +18,7 @@ */ import { EventEmitter } from 'events'; -import { isEqual } from 'lodash'; +import { isEqual } from 'lodash4'; import ResizeObserver from 'resize-observer-polyfill'; function getSize(el: HTMLElement): [number, number] { diff --git a/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts b/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts index d93fa0fe5a169..3a4d8fe91ec3d 100644 --- a/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts +++ b/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { applyDiff } from './diff_object'; describe('diff_object', () => { diff --git a/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts b/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts index 65eb8a3cc8fcc..27082b1f8991b 100644 --- a/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts +++ b/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { keys, isFunction, difference, filter, union, pick, each, assign, isEqual } from 'lodash'; +import { keys, isFunction, difference, filter, union, pick, each, assign, isEqual } from 'lodash4'; export interface IDiffObject { removed: string[]; diff --git a/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts b/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts index fe18f426f226b..fcf7290aff55f 100644 --- a/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts +++ b/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts @@ -70,7 +70,7 @@ * For these reasons, HashedItemStore doesn't concern itself with this constraint. */ -import { pull, sortBy } from 'lodash'; +import { pull, sortBy } from 'lodash4'; import { IStorage } from '../types'; interface IndexedItem { diff --git a/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx b/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx index 055dda5ed84a1..c6cc9880cfc4c 100644 --- a/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx +++ b/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx @@ -19,7 +19,7 @@ import React, { useState } from 'react'; import { i18n } from '@kbn/i18n'; -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; import { EuiIcon, EuiSideNav, EuiScreenReaderOnly, EuiSideNavItemType } from '@elastic/eui'; import { AppMountParameters } from 'kibana/public'; diff --git a/src/plugins/maps_legacy/public/map/base_maps_visualization.js b/src/plugins/maps_legacy/public/map/base_maps_visualization.js index 2d1a45beb5d87..64b9c7db903f9 100644 --- a/src/plugins/maps_legacy/public/map/base_maps_visualization.js +++ b/src/plugins/maps_legacy/public/map/base_maps_visualization.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import * as Rx from 'rxjs'; import { filter, first } from 'rxjs/operators'; diff --git a/src/plugins/maps_legacy/public/map/decode_geo_hash.ts b/src/plugins/maps_legacy/public/map/decode_geo_hash.ts index 8c39ada03a46b..ba2fc40c147a0 100644 --- a/src/plugins/maps_legacy/public/map/decode_geo_hash.ts +++ b/src/plugins/maps_legacy/public/map/decode_geo_hash.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; interface DecodedGeoHash { latitude: number[]; diff --git a/src/plugins/maps_legacy/public/map/grid_dimensions.js b/src/plugins/maps_legacy/public/map/grid_dimensions.js index b3438914d5636..d655b956ee3f6 100644 --- a/src/plugins/maps_legacy/public/map/grid_dimensions.js +++ b/src/plugins/maps_legacy/public/map/grid_dimensions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // geohash precision mapping of geohash grid cell dimensions (width x height, in meters) at equator. // https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html#_cell_dimensions_at_the_equator diff --git a/src/plugins/maps_legacy/public/map/kibana_map.js b/src/plugins/maps_legacy/public/map/kibana_map.js index ad5d2c089b875..a86aeebff4303 100644 --- a/src/plugins/maps_legacy/public/map/kibana_map.js +++ b/src/plugins/maps_legacy/public/map/kibana_map.js @@ -20,7 +20,7 @@ import { EventEmitter } from 'events'; import { createZoomWarningMsg } from './map_messages'; import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import { zoomToPrecision } from './zoom_to_precision'; import { i18n } from '@kbn/i18n'; import { ORIGIN } from '../common/constants/origin'; diff --git a/src/plugins/maps_legacy/public/map/service_settings.js b/src/plugins/maps_legacy/public/map/service_settings.js index 7c2b841e4adf3..e3557390499eb 100644 --- a/src/plugins/maps_legacy/public/map/service_settings.js +++ b/src/plugins/maps_legacy/public/map/service_settings.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import MarkdownIt from 'markdown-it'; import { EMSClient } from '@elastic/ems-client'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx b/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx index 3a05ce59f5d13..5f1f8331a99a3 100644 --- a/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx +++ b/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { capitalize, isFunction } from 'lodash'; +import { upperFirst, isFunction } from 'lodash4'; import React, { MouseEvent } from 'react'; import { EuiButtonEmpty, EuiToolTip } from '@elastic/eui'; @@ -50,11 +50,11 @@ export function TopNavMenuItem(props: TopNavMenuData) { const btn = props.emphasize ? ( - {capitalize(props.label || props.id!)} + {upperFirst(props.label || props.id!)} ) : ( - {capitalize(props.label || props.id!)} + {upperFirst(props.label || props.id!)} ); diff --git a/src/plugins/region_map/public/__tests__/region_map_visualization.js b/src/plugins/region_map/public/__tests__/region_map_visualization.js index 3dcfc7c2fc6fa..d694b045aac1d 100644 --- a/src/plugins/region_map/public/__tests__/region_map_visualization.js +++ b/src/plugins/region_map/public/__tests__/region_map_visualization.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; import ngMock from 'ng_mock'; -import _ from 'lodash'; +import _ from 'lodash4'; import ChoroplethLayer from '../choropleth_layer'; import { ImageComparator } from 'test_utils/image_comparator'; diff --git a/src/plugins/region_map/public/choropleth_layer.js b/src/plugins/region_map/public/choropleth_layer.js index 30fa8b544cdec..3fd9e246e9d37 100644 --- a/src/plugins/region_map/public/choropleth_layer.js +++ b/src/plugins/region_map/public/choropleth_layer.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import { i18n } from '@kbn/i18n'; import * as topojson from 'topojson-client'; diff --git a/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx b/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx index 8a644a718c9d3..8f624c6272174 100644 --- a/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx +++ b/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx @@ -17,7 +17,7 @@ * under the License. */ -jest.mock('lodash', () => ({ +jest.mock('lodash4', () => ({ debounce: (fn: any) => fn, })); diff --git a/src/plugins/saved_objects/public/finder/saved_object_finder.tsx b/src/plugins/saved_objects/public/finder/saved_object_finder.tsx index 9ef4f2fbe7c55..28b552604b066 100644 --- a/src/plugins/saved_objects/public/finder/saved_object_finder.tsx +++ b/src/plugins/saved_objects/public/finder/saved_object_finder.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import PropTypes from 'prop-types'; import React from 'react'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts b/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts index 47390c7dc9104..0b9d973dc9f24 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { EsResponse, SavedObject, SavedObjectConfig, SavedObjectKibanaServices } from '../../types'; import { SavedObjectNotFound } from '../../../../kibana_utils/public'; import { diff --git a/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts index fdc8d79c9428a..b604f2e8b5f89 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { once } from 'lodash'; +import { once } from 'lodash4'; import { hydrateIndexPattern } from './hydrate_index_pattern'; import { intializeSavedObject } from './initialize_saved_object'; import { serializeSavedObject } from './serialize_saved_object'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts b/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts index 25ed4d527b833..4d6da734fd0a8 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { SavedObjectAttributes } from 'kibana/public'; import { SavedObject, SavedObjectKibanaServices } from '../../types'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts index ae8d7ac8a6526..efd772edce292 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectsClientContract } from 'kibana/public'; import { SavedObject, SavedObjectConfig } from '../../types'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts index b413ea19a932d..255bb6786786a 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { SavedObjectAttributes, diff --git a/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts index 24e467ad18ac4..0afb985425b81 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObject, SavedObjectConfig } from '../../types'; import { extractSearchSourceReferences, expandShorthand } from '../../../../data/public'; diff --git a/src/plugins/saved_objects_management/public/lib/case_conversion.ts b/src/plugins/saved_objects_management/public/lib/case_conversion.ts index 718530eb3b602..654cbffee28c8 100644 --- a/src/plugins/saved_objects_management/public/lib/case_conversion.ts +++ b/src/plugins/saved_objects_management/public/lib/case_conversion.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapKeys, camelCase } from 'lodash'; +import { mapKeys, camelCase } from 'lodash4'; export function keysToCamelCaseShallow(object: Record) { return mapKeys(object, (value, key) => camelCase(key)); diff --git a/src/plugins/saved_objects_management/public/lib/create_field_list.ts b/src/plugins/saved_objects_management/public/lib/create_field_list.ts index 5f424751dd58e..902f077761d18 100644 --- a/src/plugins/saved_objects_management/public/lib/create_field_list.ts +++ b/src/plugins/saved_objects_management/public/lib/create_field_list.ts @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn, indexBy, isNumber, isBoolean, isPlainObject, isString } from 'lodash'; +import { forOwn, keyBy, isNumber, isBoolean, isPlainObject, isString } from 'lodash4'; import { SimpleSavedObject } from '../../../../core/public'; import { castEsToKbnFieldTypeName } from '../../../data/public'; import { ObjectField } from '../management_section/types'; @@ -93,9 +93,9 @@ const addFieldsFromClass = function ( Class: { mapping: Record; searchSource: any }, fields: ObjectField[] ) { - const fieldMap = indexBy(fields, 'name'); + const fieldMap = keyBy(fields, 'name'); - _.forOwn(Class.mapping, (esType, name) => { + forOwn(Class.mapping, (esType, name) => { if (!name || fieldMap[name]) { return; } diff --git a/src/plugins/saved_objects_management/public/lib/get_relationships.ts b/src/plugins/saved_objects_management/public/lib/get_relationships.ts index bf2e651aa6593..a2ba11ce0bc84 100644 --- a/src/plugins/saved_objects_management/public/lib/get_relationships.ts +++ b/src/plugins/saved_objects_management/public/lib/get_relationships.ts @@ -18,7 +18,7 @@ */ import { HttpStart } from 'src/core/public'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { SavedObjectRelation } from '../types'; export async function getRelationships( diff --git a/src/plugins/saved_objects_management/public/lib/numeric.ts b/src/plugins/saved_objects_management/public/lib/numeric.ts index c7bc6c26a378f..525e5c1845ea2 100644 --- a/src/plugins/saved_objects_management/public/lib/numeric.ts +++ b/src/plugins/saved_objects_management/public/lib/numeric.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isNaN } from 'lodash'; +import { isNaN } from 'lodash4'; export function isNumeric(v: any): boolean { return !isNaN(v) && (typeof v === 'number' || (!Array.isArray(v) && !isNaN(parseFloat(v)))); diff --git a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts index 79b8c33b84cfe..7fb86afede699 100644 --- a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts +++ b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { OverlayStart, SavedObjectReference } from 'src/core/public'; import { SavedObject, SavedObjectLoader } from '../../../saved_objects/public'; import { diff --git a/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx b/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx index d273ffb4c1052..769d1d69a06c3 100644 --- a/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx +++ b/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx @@ -26,7 +26,7 @@ import { EuiButtonEmpty, EuiSpacer, } from '@elastic/eui'; -import { cloneDeep, set } from 'lodash'; +import { cloneDeep, set } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { SimpleSavedObject, SavedObjectsClientContract } from '../../../../../../core/public'; diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx index 6e7397d1058bf..8884f23e5035a 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx @@ -18,7 +18,7 @@ */ import React, { Component, Fragment } from 'react'; -import { take, get as getField } from 'lodash'; +import { take, get as getField } from 'lodash4'; import { EuiFlyout, EuiFlyoutBody, diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts index 6b4659a6b5a13..7bdc65b1e73dd 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts @@ -22,8 +22,8 @@ jest.doMock('@elastic/filesaver', () => ({ saveAs: saveAsMock, })); -jest.doMock('lodash', () => ({ - ...jest.requireActual('lodash'), +jest.doMock('lodash4', () => ({ + ...jest.requireActual('lodash4'), debounce: (func: Function) => { function debounced(this: any, ...args: any[]) { return func.apply(this, args); diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx index 54bc649c33b60..ba02aa9c50236 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx @@ -18,7 +18,7 @@ */ import React, { Component } from 'react'; -import { debounce } from 'lodash'; +import { debounce } from 'lodash4'; // @ts-ignore import { saveAs } from '@elastic/filesaver'; import { diff --git a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx index 75692777f08bb..5ba73bd32b8f7 100644 --- a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx +++ b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx @@ -18,7 +18,7 @@ */ import React, { useEffect } from 'react'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { CoreStart, ChromeBreadcrumb } from 'src/core/public'; import { DataPublicPluginStart } from '../../../data/public'; @@ -78,7 +78,7 @@ const SavedObjectsTablePage = ({ }} canGoInApp={(savedObject) => { const { inAppUrl } = savedObject.meta; - return inAppUrl ? get(capabilities, inAppUrl.uiCapabilitiesPath) : false; + return inAppUrl ? (get(capabilities, inAppUrl.uiCapabilitiesPath) as any) : false; }} /> ); diff --git a/src/plugins/saved_objects_management/server/lib/find_all.test.ts b/src/plugins/saved_objects_management/server/lib/find_all.test.ts index 2515d11f6d4bb..04d7c3ca7934a 100644 --- a/src/plugins/saved_objects_management/server/lib/find_all.test.ts +++ b/src/plugins/saved_objects_management/server/lib/find_all.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { times } from 'lodash'; +import { times } from 'lodash4'; import { SavedObjectsFindOptions, SavedObject } from 'src/core/server'; import { savedObjectsClientMock } from '../../../../core/server/mocks'; import { findAll } from './find_all'; diff --git a/src/plugins/share/server/routes/lib/short_url_assert_valid.ts b/src/plugins/share/server/routes/lib/short_url_assert_valid.ts index 2f120bbc03cd7..fe61855f97ce6 100644 --- a/src/plugins/share/server/routes/lib/short_url_assert_valid.ts +++ b/src/plugins/share/server/routes/lib/short_url_assert_valid.ts @@ -18,7 +18,7 @@ */ import { parse } from 'url'; -import { trim } from 'lodash'; +import { trim } from 'lodash4'; import Boom from 'boom'; export function shortUrlAssertValid(url: string) { diff --git a/src/plugins/share/server/routes/lib/short_url_lookup.ts b/src/plugins/share/server/routes/lib/short_url_lookup.ts index a858b7c54ac4f..0a3983972fee7 100644 --- a/src/plugins/share/server/routes/lib/short_url_lookup.ts +++ b/src/plugins/share/server/routes/lib/short_url_lookup.ts @@ -18,7 +18,7 @@ */ import crypto from 'crypto'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { Logger, SavedObject, SavedObjectsClientContract } from 'kibana/server'; diff --git a/src/plugins/share/server/saved_objects/url.ts b/src/plugins/share/server/saved_objects/url.ts index 3103777179741..7f2f8fa1d3ff4 100644 --- a/src/plugins/share/server/saved_objects/url.ts +++ b/src/plugins/share/server/saved_objects/url.ts @@ -16,8 +16,8 @@ * specific language governing permissions and limitations * under the License. */ -import { SavedObjectMigrationFn, SavedObjectsType } from 'kibana/server'; -import { flow } from 'lodash'; +import { SavedObjectsType } from 'kibana/server'; +import { flow } from 'lodash4'; import { migrateLegacyKibanaAppShortUrls } from './kibana_app_migration'; export const url: SavedObjectsType = { @@ -33,7 +33,7 @@ export const url: SavedObjectsType = { }, }, migrations: { - '7.9.0': flow(migrateLegacyKibanaAppShortUrls), + '7.9.0': flow(migrateLegacyKibanaAppShortUrls), }, mappings: { properties: { diff --git a/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js b/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js index 29076537e9ae8..d44bd16b1b43c 100644 --- a/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js +++ b/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js @@ -23,7 +23,7 @@ import sinon from 'sinon'; import { mockGetClusterInfo } from './get_cluster_info'; import { mockGetClusterStats } from './get_cluster_stats'; -import { omit } from 'lodash'; +import { omit } from 'lodash4'; import { getLocalStats, handleLocalStats } from '../get_local_stats'; const mockUsageCollection = (kibanaUsage = {}) => ({ diff --git a/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts b/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts index 645c5a4be8a6c..a8681c987f994 100644 --- a/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts +++ b/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash'; +import { omit } from 'lodash4'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; import { APICaller } from 'kibana/server'; import { StatsCollectionContext } from 'src/plugins/telemetry_collection_manager/server'; diff --git a/src/plugins/tile_map/public/css_filters.js b/src/plugins/tile_map/public/css_filters.js index b41ea6955663b..157c548838323 100644 --- a/src/plugins/tile_map/public/css_filters.js +++ b/src/plugins/tile_map/public/css_filters.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; /** * just a place to put feature detection checks diff --git a/src/plugins/tile_map/public/geohash_layer.js b/src/plugins/tile_map/public/geohash_layer.js index ca2f49a1f31e0..b6cdbd988fc2b 100644 --- a/src/plugins/tile_map/public/geohash_layer.js +++ b/src/plugins/tile_map/public/geohash_layer.js @@ -17,7 +17,7 @@ * under the License. */ -import { min, isEqual } from 'lodash'; +import { min, isEqual } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { L, KibanaMapLayer, MapTypes } from '../../maps_legacy/public'; import { HeatmapMarkers } from './markers/heatmap'; diff --git a/src/plugins/tile_map/public/markers/heatmap.js b/src/plugins/tile_map/public/markers/heatmap.js index f2d014797bce0..43379fa53470c 100644 --- a/src/plugins/tile_map/public/markers/heatmap.js +++ b/src/plugins/tile_map/public/markers/heatmap.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import { EventEmitter } from 'events'; import { L } from '../../../maps_legacy/public'; diff --git a/src/plugins/tile_map/public/markers/scaled_circles.js b/src/plugins/tile_map/public/markers/scaled_circles.js index cb111107f6fe3..6bd1f5b067438 100644 --- a/src/plugins/tile_map/public/markers/scaled_circles.js +++ b/src/plugins/tile_map/public/markers/scaled_circles.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import d3 from 'd3'; import $ from 'jquery'; import { EventEmitter } from 'events'; diff --git a/src/plugins/tile_map/public/markers/shaded_circles.js b/src/plugins/tile_map/public/markers/shaded_circles.js index 745d0422856c6..24020cb1ecdf6 100644 --- a/src/plugins/tile_map/public/markers/shaded_circles.js +++ b/src/plugins/tile_map/public/markers/shaded_circles.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { ScaledCirclesMarkers } from './scaled_circles'; import { L } from '../../../maps_legacy/public'; diff --git a/src/plugins/tile_map/public/tile_map_visualization.js b/src/plugins/tile_map/public/tile_map_visualization.js index 1f4e5f09a9aa4..84104b52b82bd 100644 --- a/src/plugins/tile_map/public/tile_map_visualization.js +++ b/src/plugins/tile_map/public/tile_map_visualization.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { GeohashLayer } from './geohash_layer'; import { getFormatService, getQueryService } from './services'; import { scaleBounds, geoContains, mapTooltipProvider } from '../../maps_legacy/public'; diff --git a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx index 74e9ef96b575b..82cceb04a687f 100644 --- a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx +++ b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx @@ -19,7 +19,7 @@ import * as React from 'react'; import { EuiContextMenuPanelDescriptor, EuiContextMenuPanelItemDescriptor } from '@elastic/eui'; -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; import { uiToReactComponent } from '../../../kibana_react/public'; import { Action } from '../actions'; diff --git a/src/plugins/usage_collection/server/collector/collector_set.test.ts b/src/plugins/usage_collection/server/collector/collector_set.test.ts index ced5206cee318..4cf1601713fee 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.test.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { noop } from 'lodash'; +import { noop } from 'lodash4'; import { Collector } from './collector'; import { CollectorSet } from './collector_set'; import { UsageCollector } from './usage_collector'; diff --git a/src/plugins/usage_collection/server/collector/collector_set.ts b/src/plugins/usage_collection/server/collector/collector_set.ts index e8791138c5e26..12f354509b764 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.ts @@ -17,7 +17,7 @@ * under the License. */ -import { snakeCase } from 'lodash'; +import { snakeCase } from 'lodash4'; import { Logger, APICaller } from 'kibana/server'; import { Collector, CollectorOptions } from './collector'; import { UsageCollector } from './usage_collector'; diff --git a/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx b/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx index a5a949ce66c82..226b108444b31 100644 --- a/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx +++ b/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { findIndex, isEmpty } from 'lodash'; +import { findIndex, isEmpty } from 'lodash4'; import { IAggConfig } from 'src/plugins/data/public'; import { AggsState } from './agg_group_state'; import { Schema, getSchemaByName } from '../schemas'; diff --git a/src/plugins/vis_default_editor/public/components/agg_params_helper.ts b/src/plugins/vis_default_editor/public/components/agg_params_helper.ts index 45abbf8d2b2dd..6044007fdf9a2 100644 --- a/src/plugins/vis_default_editor/public/components/agg_params_helper.ts +++ b/src/plugins/vis_default_editor/public/components/agg_params_helper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isEmpty } from 'lodash'; +import { get, isEmpty } from 'lodash4'; import { IAggConfig, @@ -87,7 +87,7 @@ function getAggParamsToRender({ // should be refactored in the future to provide a more general way // for visualization to override some agg config settings if (agg.type.name === 'top_hits' && param.name === 'field') { - const allowStrings = _.get(schema, `aggSettings[${agg.type.name}].allowStrings`, false); + const allowStrings = get(schema, `aggSettings[${agg.type.name}].allowStrings`, false); if (!allowStrings) { availableFields = availableFields.filter((field) => field.type === 'number'); } diff --git a/src/plugins/vis_default_editor/public/components/agg_select.tsx b/src/plugins/vis_default_editor/public/components/agg_select.tsx index 8d03940a92d34..08ca350a9126e 100644 --- a/src/plugins/vis_default_editor/public/components/agg_select.tsx +++ b/src/plugins/vis_default_editor/public/components/agg_select.tsx @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { get, has } from 'lodash'; +import { get, has } from 'lodash4'; import React, { useEffect, useCallback, useState } from 'react'; import { EuiComboBox, EuiComboBoxOptionOption, EuiFormRow, EuiLink, EuiText } from '@elastic/eui'; diff --git a/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx b/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx index a0bc0d78a2889..668636671efbe 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx @@ -18,7 +18,7 @@ */ import React, { useState, useEffect, Fragment, useCallback } from 'react'; -import { isEmpty, isEqual, mapValues, omit, pick } from 'lodash'; +import { isEmpty, isEqual, mapValues, omitBy, pick } from 'lodash4'; import { EuiButtonIcon, EuiFlexGroup, @@ -173,7 +173,7 @@ function InputList({ config, list, onChange, setValidity }: InputListProps) { const model: InputObject = mapValues(pick(models[index], modelNames), 'model'); // we need to skip empty values since they are not stored in saved object - return !isEqual(item, omit(model, isEmpty)); + return !isEqual(item, omitBy(model, isEmpty)); }) ) { setModels( diff --git a/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts b/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts index c50ac929dc7bd..cb15d7448afb4 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts +++ b/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn } from 'lodash'; +import { forOwn } from 'lodash4'; import { parseRange } from './range'; describe('Range parsing utility', () => { diff --git a/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts b/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts index 6eaef3050029a..be60ddae01219 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts +++ b/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash'; +import { last } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { htmlIdGenerator } from '@elastic/eui'; @@ -105,7 +105,7 @@ function validateValueUnique( } function getNextModel(list: NumberRowModel[], range: NumberListRange): NumberRowModel { - const lastValue = last(list).value; + const lastValue = (last(list) as any).value; let next = Number(lastValue) ? Number(lastValue) + 1 : 1; if (next >= range.max) { diff --git a/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx b/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx index 079fa95d362ac..d48c736eb9d2f 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx @@ -18,7 +18,7 @@ */ import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'; -import { isArray } from 'lodash'; +import { isArray } from 'lodash4'; import { EuiButtonEmpty, EuiFlexItem, EuiFormRow, EuiSpacer, htmlIdGenerator } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { EMPTY_STRING, getInitModelList, getRange, parse } from './number_list/utils'; diff --git a/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx b/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx index d3cf87c9ef14a..8e1dc464e3ab3 100644 --- a/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx @@ -35,7 +35,7 @@ import { import dateMath from '@elastic/datemath'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { isEqual, omit } from 'lodash'; +import { isEqual, omit } from 'lodash4'; import { useMount } from 'react-use'; import { useKibana } from '../../../../kibana_react/public'; diff --git a/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx b/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx index 11df63c9a3fa1..516347625aaaa 100644 --- a/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx @@ -21,7 +21,7 @@ import React, { ChangeEvent } from 'react'; import { EuiFieldNumber, EuiFlexGroup, EuiFlexItem, EuiFormRow } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { isUndefined } from 'lodash'; +import { isUndefined } from 'lodash4'; import { useValidation } from './utils'; import { AggParamEditorProps } from '../agg_param_props'; diff --git a/src/plugins/vis_default_editor/public/components/controls/field.tsx b/src/plugins/vis_default_editor/public/components/controls/field.tsx index 24d94c2b18feb..3e5f46438aab8 100644 --- a/src/plugins/vis_default_editor/public/components/controls/field.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/field.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import React, { useState, useCallback } from 'react'; import { useMount } from 'react-use'; diff --git a/src/plugins/vis_default_editor/public/components/controls/filters.tsx b/src/plugins/vis_default_editor/public/components/controls/filters.tsx index 9a9933b5e1e83..cd8f596c426d6 100644 --- a/src/plugins/vis_default_editor/public/components/controls/filters.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/filters.tsx @@ -18,7 +18,7 @@ */ import React, { useState, useEffect } from 'react'; -import { omit, isEqual } from 'lodash'; +import { omit, isEqual } from 'lodash4'; import { htmlIdGenerator, EuiButton, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { useMount } from 'react-use'; @@ -43,7 +43,9 @@ function FiltersParamEditor({ agg, value = [], setValue }: AggParamEditorProps { // set parsed values into model after initialization - setValue(filters.map((filter) => omit({ ...filter, input: filter.input }, 'id'))); + setValue( + filters.map((filter) => omit({ ...filter, input: filter.input }, 'id') as FilterValue) + ); }); useEffect(() => { @@ -58,7 +60,7 @@ function FiltersParamEditor({ agg, value = [], setValue }: AggParamEditorProps { // do not set internal id parameter into saved object - setValue(updatedFilters.map((filter) => omit(filter, 'id'))); + setValue(updatedFilters.map((filter) => omit(filter, 'id') as FilterValue)); setFilters(updatedFilters); }; diff --git a/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx b/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx index 0d21eb04c12b2..be24a626c6126 100644 --- a/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import React, { useEffect, useCallback } from 'react'; import { EuiFieldNumber, EuiFormRow, EuiIconTip } from '@elastic/eui'; @@ -56,7 +56,7 @@ function NumberIntervalParamEditor({ setValidity, setValue, }: AggParamEditorProps) { - const base: number = get(editorConfig, 'interval.base'); + const base: number = get(editorConfig, 'interval.base') as number; const min = base || 0; const isValid = value !== undefined && value >= min; diff --git a/src/plugins/vis_default_editor/public/components/controls/ranges.tsx b/src/plugins/vis_default_editor/public/components/controls/ranges.tsx index e5f5b53a3d879..d5aa43f765899 100644 --- a/src/plugins/vis_default_editor/public/components/controls/ranges.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/ranges.tsx @@ -34,7 +34,7 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { isEqual, omit } from 'lodash'; +import { isEqual, omit } from 'lodash4'; const FROM_PLACEHOLDER = '\u2212\u221E'; const TO_PLACEHOLDER = '+\u221E'; diff --git a/src/plugins/vis_default_editor/public/components/controls/size.tsx b/src/plugins/vis_default_editor/public/components/controls/size.tsx index 159607cbdbd57..656fd15c6c770 100644 --- a/src/plugins/vis_default_editor/public/components/controls/size.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/size.tsx @@ -18,7 +18,7 @@ */ import React, { useEffect } from 'react'; -import { isUndefined } from 'lodash'; +import { isUndefined } from 'lodash4'; import { EuiFormRow, EuiFieldNumber } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx b/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx index 4af41f67bc524..49767f7e3fe45 100644 --- a/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get, find } from 'lodash'; +import { get, find } from 'lodash4'; import React, { useEffect } from 'react'; import { EuiFormRow, EuiIconTip, EuiComboBox, EuiComboBoxOptionOption } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -107,7 +107,7 @@ function TimeIntervalParamEditor({ setTouched, setValidity, }: AggParamEditorProps) { - const timeBase: string = get(editorConfig, 'interval.timeBase'); + const timeBase: string = get(editorConfig, 'interval.timeBase') as string; const options = timeBase ? [] : ((aggParam as any).options || []).reduce( diff --git a/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx b/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx index 26567d05e0427..7af18cb9e1d75 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx +++ b/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx @@ -18,7 +18,7 @@ */ import React, { useMemo, useCallback } from 'react'; -import { findLast } from 'lodash'; +import { findLast } from 'lodash4'; import { EuiSpacer } from '@elastic/eui'; import { @@ -74,7 +74,8 @@ function DefaultEditorDataTab({ ), [metricAggs] ); - const lastParentPipelineAggTitle = lastParentPipelineAgg && lastParentPipelineAgg.type.title; + const lastParentPipelineAggTitle = + lastParentPipelineAgg && (lastParentPipelineAgg as IAggConfig).type.title; const addSchema: AddSchema = useCallback((schema) => dispatch(addNewAgg(schema)), [dispatch]); @@ -116,7 +117,7 @@ function DefaultEditorDataTab({ setValidity, setTouched, removeAgg: onAggRemove, - }; + } as any; return ( <> diff --git a/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx b/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx index 837dd9bff2c6d..a1b63b8cbe517 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx +++ b/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx @@ -18,7 +18,7 @@ */ import React, { useMemo, useState, useCallback, KeyboardEventHandler, useEffect } from 'react'; -import { get, isEqual } from 'lodash'; +import { get, isEqual } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { keyCodes, EuiButtonIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { EventEmitter } from 'events'; diff --git a/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts b/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts index f5efb6263166a..c4e0e5a1871b1 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts +++ b/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { Vis } from 'src/plugins/visualizations/public'; import { AggGroupNames, DataPublicPluginStart } from '../../../../../data/public'; diff --git a/src/plugins/vis_default_editor/public/schemas.ts b/src/plugins/vis_default_editor/public/schemas.ts index 54520b85cb5ec..5acefa6fc87bb 100644 --- a/src/plugins/vis_default_editor/public/schemas.ts +++ b/src/plugins/vis_default_editor/public/schemas.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { defaults } from 'lodash'; +import _, { defaults } from 'lodash4'; import { Optional } from '@kbn/utility-types'; @@ -58,6 +58,7 @@ export class Schemas implements ISchemas { > ) { _(schemas || []) + .chain() .map((schema) => { if (!schema.name) throw new Error('all schema must have a unique name'); diff --git a/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx b/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx index 5e8a463748188..09fabc50d89bd 100644 --- a/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx +++ b/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { last, findIndex, isNaN } from 'lodash'; +import { last, findIndex, isNaN } from 'lodash4'; import React, { Component } from 'react'; import { isColorDark } from '@elastic/eui'; import { MetricVisValue } from './metric_vis_value'; @@ -41,7 +41,7 @@ export class MetricVisComponent extends Component { const config = this.props.visParams.metric; const isPercentageMode = config.percentageMode; const colorsRange = config.colorsRange; - const max = last(colorsRange).to; + const max = (last(colorsRange) as any).to; const labels: string[] = []; colorsRange.forEach((range: any) => { @@ -111,7 +111,7 @@ export class MetricVisComponent extends Component { const dimensions = this.props.visParams.dimensions; const isPercentageMode = config.percentageMode; const min = config.colorsRange[0].from; - const max = last(config.colorsRange).to; + const max = (last(config.colorsRange) as any).to; const colors = this.getColors(); const labels = this.getLabels(); const metrics: MetricVisMetric[] = []; diff --git a/src/plugins/vis_type_table/public/agg_table/agg_table.js b/src/plugins/vis_type_table/public/agg_table/agg_table.js index bd7626a493338..eadf985c50461 100644 --- a/src/plugins/vis_type_table/public/agg_table/agg_table.js +++ b/src/plugins/vis_type_table/public/agg_table/agg_table.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { CSV_SEPARATOR_SETTING, CSV_QUOTE_VALUES_SETTING } from '../../../share/public'; import aggTableTemplate from './agg_table.html'; import { getFormatService } from '../services'; diff --git a/src/plugins/vis_type_table/public/components/table_vis_options.tsx b/src/plugins/vis_type_table/public/components/table_vis_options.tsx index d220a6b2db842..55a7993cd668b 100644 --- a/src/plugins/vis_type_table/public/components/table_vis_options.tsx +++ b/src/plugins/vis_type_table/public/components/table_vis_options.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import React, { useEffect, useMemo } from 'react'; import { EuiIconTip, EuiPanel } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_type_table/public/paginated_table/paginated_table.js b/src/plugins/vis_type_table/public/paginated_table/paginated_table.js index b1810e7143326..4fc5b933e55a2 100644 --- a/src/plugins/vis_type_table/public/paginated_table/paginated_table.js +++ b/src/plugins/vis_type_table/public/paginated_table/paginated_table.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import paginatedTableTemplate from './paginated_table.html'; export function PaginatedTable($filter) { diff --git a/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts b/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts index de253f26ff9e7..16b0d86d78ee7 100644 --- a/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts +++ b/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isNumber, times, identity, random } from 'lodash'; +import { isNumber, times, identity, random } from 'lodash4'; import angular, { IRootScopeService, IScope, ICompileService } from 'angular'; import $ from 'jquery'; import 'angular-sanitize'; diff --git a/src/plugins/vis_type_table/public/paginated_table/rows.js b/src/plugins/vis_type_table/public/paginated_table/rows.js index d2192a5843644..620bf98330e4d 100644 --- a/src/plugins/vis_type_table/public/paginated_table/rows.js +++ b/src/plugins/vis_type_table/public/paginated_table/rows.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import tableCellFilterHtml from './table_cell_filter.html'; export function KbnRows($compile) { diff --git a/src/plugins/vis_type_table/public/table_vis_controller.js b/src/plugins/vis_type_table/public/table_vis_controller.js index 8a620df986090..5d2922e62a51a 100644 --- a/src/plugins/vis_type_table/public/table_vis_controller.js +++ b/src/plugins/vis_type_table/public/table_vis_controller.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { assign } from 'lodash'; +import { assign } from 'lodash4'; export function TableVisController($scope) { const uiStateSort = $scope.uiState ? $scope.uiState.get('vis.params.sort') : {}; diff --git a/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts b/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts index 3dfa4602a9525..01b9880481068 100644 --- a/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts +++ b/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts @@ -17,7 +17,7 @@ * under the License. */ -import { keys } from 'lodash'; +import { keys } from 'lodash4'; import moment, { unitOfTime } from 'moment'; type Units = unitOfTime.Base | unitOfTime._quarter; diff --git a/src/plugins/vis_type_timelion/public/components/panel.tsx b/src/plugins/vis_type_timelion/public/components/panel.tsx index f4f1cd84613be..86dd1adebb0a8 100644 --- a/src/plugins/vis_type_timelion/public/components/panel.tsx +++ b/src/plugins/vis_type_timelion/public/components/panel.tsx @@ -20,7 +20,7 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react'; import $ from 'jquery'; import moment from 'moment-timezone'; -import { debounce, compact, get, each, cloneDeep, last, map } from 'lodash'; +import { debounce, compact, get, each, cloneDeep, last, map } from 'lodash4'; import { useKibana } from '../../../kibana_react/public'; import '../flot'; diff --git a/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts b/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts index 8db057cdb3cc5..37cd6a6f42cf8 100644 --- a/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts +++ b/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, startsWith } from 'lodash'; +import { get, startsWith } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { monaco } from '@kbn/monaco'; diff --git a/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts b/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts index 19ec46bd7f659..a69a3429c2fcb 100644 --- a/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts +++ b/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { getIndexPatterns, getSavedObjectsClient } from './plugin_services'; import { TimelionFunctionArgs } from '../../common/types'; import { indexPatterns as indexPatternsUtils, IndexPatternAttributes } from '../../../data/public'; diff --git a/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts b/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts index db29d9112be8e..47cbb7ed5b4bb 100644 --- a/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts +++ b/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, defaults, merge, compact } from 'lodash'; +import { cloneDeep, defaults, mergeWith, compact } from 'lodash4'; import moment, { Moment } from 'moment-timezone'; import { TimefilterContract } from 'src/plugins/data/public'; @@ -91,7 +91,7 @@ function buildSeriesData(chart: Series[], options: jquery.flot.plotOptions) { } if (series._global) { - merge(options, series._global, (objVal, srcVal) => { + mergeWith(options, series._global, (objVal, srcVal) => { // This is kind of gross, it means that you can't replace a global value with a null // best you can do is an empty string. Deal with it. if (objVal == null) { diff --git a/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts b/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts index c80f9c3ed5f4b..2719131bf2f3b 100644 --- a/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts +++ b/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { Axis } from './panel_utils'; diff --git a/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts b/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts index c02f43818af9c..6fd68f0f974d5 100644 --- a/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts +++ b/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, @@ -27,6 +27,7 @@ import { import { getTimelionRequestHandler } from './helpers/timelion_request_handler'; import { TIMELION_VIS_NAME } from './timelion_vis_type'; import { TimelionVisDependencies } from './plugin'; +import { Filter, Query, TimeRange } from '../../data/common'; type Input = KibanaContext | null; type Output = Promise>; @@ -71,9 +72,9 @@ export const getTimelionVisualizationConfig = ( const visParams = { expression: args.expression, interval: args.interval }; const response = await timelionRequestHandler({ - timeRange: get(input, 'timeRange'), - query: get(input, 'query'), - filters: get(input, 'filters'), + timeRange: get(input, 'timeRange') as TimeRange, + query: get(input, 'query') as Query, + filters: get(input, 'filters') as Filter[], visParams, forceFetch: true, }); diff --git a/src/plugins/vis_type_timelion/server/fit_functions/average.js b/src/plugins/vis_type_timelion/server/fit_functions/average.js index 06db7bd0e9324..4f50dab4e9d0e 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/average.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/average.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // Upsampling and down sampling of non-cumulative sets // Good: min, max, average @@ -27,7 +27,7 @@ export default function average(dataTuples, targetTuples) { // Phase 1: Downsample // We necessarily won't well match the dataSource here as we don't know how much data // they had when creating their own average - const resultTimes = _.pluck(targetTuples, 0); + const resultTimes = _.map(targetTuples, 0); const dataTuplesQueue = _.clone(dataTuples); const resultValues = _.map(targetTuples, function (bucket) { const time = bucket[0]; diff --git a/src/plugins/vis_type_timelion/server/fit_functions/average.test.js b/src/plugins/vis_type_timelion/server/fit_functions/average.test.js index 595a5f79a2e13..72e78a7cd3f0b 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/average.test.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/average.test.js @@ -20,7 +20,7 @@ import fn from './average'; import moment from 'moment'; const expect = require('chai').expect; -import _ from 'lodash'; +import _ from 'lodash4'; describe('average.js', function () { describe('average', function () { diff --git a/src/plugins/vis_type_timelion/server/fit_functions/carry.js b/src/plugins/vis_type_timelion/server/fit_functions/carry.js index 155ed9ebeecbf..8bcd3a55dc927 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/carry.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/carry.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; // Upsampling of non-cumulative sets diff --git a/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js b/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js index 79575911d2022..5ed3bcc5c51e8 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js @@ -20,7 +20,7 @@ import fn from './carry'; import moment from 'moment'; const expect = require('chai').expect; -import _ from 'lodash'; +import _ from 'lodash4'; describe('carry.js', function () { it('fills holes in the data', function () { diff --git a/src/plugins/vis_type_timelion/server/fit_functions/nearest.js b/src/plugins/vis_type_timelion/server/fit_functions/nearest.js index f15f529b5fde4..3ddbe427ca8c2 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/nearest.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/nearest.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // Upsampling and downsampling of non-cumulative sets // Good: average, min, max diff --git a/src/plugins/vis_type_timelion/server/fit_functions/scale.js b/src/plugins/vis_type_timelion/server/fit_functions/scale.js index 3c80d8611b205..f81ecb9dd9a46 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/scale.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/scale.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; // Downsampling of cumulative metrics // Good: count, sum diff --git a/src/plugins/vis_type_timelion/server/handlers/chain_runner.js b/src/plugins/vis_type_timelion/server/handlers/chain_runner.js index 59adea30730c7..8a6cab876f911 100644 --- a/src/plugins/vis_type_timelion/server/handlers/chain_runner.js +++ b/src/plugins/vis_type_timelion/server/handlers/chain_runner.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import Bluebird from 'bluebird'; import { i18n } from '@kbn/i18n'; import moment from 'moment'; @@ -132,7 +132,7 @@ export default function chainRunner(tlConfig) { }); }); return Bluebird.all(seriesList).then(function (args) { - const list = _.chain(args).pluck('list').flatten().value(); + const list = _.chain(args).map('list').flatten().value(); const seriesList = _.merge.apply(this, _.flatten([{}, args])); seriesList.list = list; return seriesList; diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js b/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js index 69e105ebaac9f..eed880514d1d0 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function argType(arg) { if (Array.isArray(arg)) { diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js b/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js index 7ea8cd362c94b..a02ee46dabd23 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; // Only applies to already resolved arguments diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js b/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js index a210cf594f48b..81fcbedb968bf 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import fs from 'fs'; import path from 'path'; -import _ from 'lodash'; +import _ from 'lodash4'; const grammar = fs.readFileSync(path.resolve(__dirname, '../../../common/chain.peg'), 'utf8'); import PEG from 'pegjs'; const Parser = PEG.generate(grammar); diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js b/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js index 78b71b8ced282..5b0ff61fbcb18 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function preProcessChainFn(tlConfig) { return function preProcessChain(chain, queries) { diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js b/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js index aa9992495b201..619387f8fba77 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; // Applies to unresolved arguments in the AST diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js b/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js index bb97e92ef0eed..c043aad605340 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import buildTarget from '../../lib/build_target.js'; export default function tlConfigFn(setup) { diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js b/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js index 9b4fdddc2186e..9dfa1f9aed9a8 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js @@ -18,7 +18,7 @@ */ import argType from './arg_type'; -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; export default function validateArgFn(functionDef) { @@ -28,7 +28,7 @@ export default function validateArgFn(functionDef) { const multi = argDef.multi; const isCorrectType = (function () { // If argument is not allow to be specified multiple times, we're dealing with a plain value for type - if (!multi) return _.contains(required, type); + if (!multi) return _.includes(required, type); // If it is, we'll get an array for type return _.difference(type, required).length === 0; })(); diff --git a/src/plugins/vis_type_timelion/server/lib/alter.js b/src/plugins/vis_type_timelion/server/lib/alter.js index 46bf0a44aaf76..9923ec893b438 100644 --- a/src/plugins/vis_type_timelion/server/lib/alter.js +++ b/src/plugins/vis_type_timelion/server/lib/alter.js @@ -18,7 +18,7 @@ */ import Bluebird from 'bluebird'; -import _ from 'lodash'; +import _ from 'lodash4'; /* @param {Array} args * - args[0] must be a seriesList diff --git a/src/plugins/vis_type_timelion/server/lib/as_sorted.js b/src/plugins/vis_type_timelion/server/lib/as_sorted.js index 536145a6b8dcd..d7b7b0b2c87a4 100644 --- a/src/plugins/vis_type_timelion/server/lib/as_sorted.js +++ b/src/plugins/vis_type_timelion/server/lib/as_sorted.js @@ -17,10 +17,10 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import unzipPairs from './unzip_pairs.js'; export default function asSorted(timeValObject, fn) { const data = unzipPairs(timeValObject); - return _.zipObject(fn(data)); + return _.fromPairs(fn(data)); } diff --git a/src/plugins/vis_type_timelion/server/lib/classes/datasource.js b/src/plugins/vis_type_timelion/server/lib/classes/datasource.js index c694942ee8793..92d4b61034d00 100644 --- a/src/plugins/vis_type_timelion/server/lib/classes/datasource.js +++ b/src/plugins/vis_type_timelion/server/lib/classes/datasource.js @@ -22,7 +22,7 @@ import loadFunctions from '../load_functions.js'; const fitFunctions = loadFunctions('fit_functions'); import TimelionFunction from './timelion_function'; import { offsetTime, preprocessOffset } from '../offset_time'; -import _ from 'lodash'; +import _ from 'lodash4'; function offsetSeries(response, offset) { if (offset) { diff --git a/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js b/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js index 83466e263cf2f..f5f39a4eeeaa7 100644 --- a/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js +++ b/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import loadFunctions from '../load_functions.js'; const fitFunctions = loadFunctions('fit_functions'); @@ -25,7 +25,7 @@ export default class TimelionFunction { constructor(name, config) { this.name = name; this.args = config.args || []; - this.argsByName = _.indexBy(this.args, 'name'); + this.argsByName = _.keyBy(this.args, 'name'); this.help = config.help || ''; this.aliases = config.aliases || []; this.extended = config.extended || false; diff --git a/src/plugins/vis_type_timelion/server/lib/functions_md.js b/src/plugins/vis_type_timelion/server/lib/functions_md.js index 275e27e5081a9..e3ebe4ac84992 100644 --- a/src/plugins/vis_type_timelion/server/lib/functions_md.js +++ b/src/plugins/vis_type_timelion/server/lib/functions_md.js @@ -19,7 +19,7 @@ import loadFunctions from './load_functions.js'; const functions = loadFunctions('series_functions/'); -import _ from 'lodash'; +import _ from 'lodash4'; export default (function () { const functionArray = _.map(functions, function (val, key) { diff --git a/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js b/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js index 51264decf8a31..d6cbeb4a678c7 100644 --- a/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js +++ b/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import configFile from '../timelion.json'; export default function () { diff --git a/src/plugins/vis_type_timelion/server/lib/load_functions.js b/src/plugins/vis_type_timelion/server/lib/load_functions.js index d6cb63b7c427b..5e1d04a24390d 100644 --- a/src/plugins/vis_type_timelion/server/lib/load_functions.js +++ b/src/plugins/vis_type_timelion/server/lib/load_functions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import glob from 'glob'; import path from 'path'; import processFunctionDefinition from './process_function_definition'; @@ -47,7 +47,7 @@ export default function (directory) { }) .value(); - const functions = _.zipObject(files.concat(directories)); + const functions = _.fromPairs(files.concat(directories)); _.each(functions, function (func) { _.assign(functions, processFunctionDefinition(func)); diff --git a/src/plugins/vis_type_timelion/server/lib/process_function_definition.js b/src/plugins/vis_type_timelion/server/lib/process_function_definition.js index 3159d33c884e8..2f79a602aec54 100644 --- a/src/plugins/vis_type_timelion/server/lib/process_function_definition.js +++ b/src/plugins/vis_type_timelion/server/lib/process_function_definition.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (func) { const functions = {}; diff --git a/src/plugins/vis_type_timelion/server/lib/reduce.js b/src/plugins/vis_type_timelion/server/lib/reduce.js index cc13b75fde12d..cff8d0aa7ba98 100644 --- a/src/plugins/vis_type_timelion/server/lib/reduce.js +++ b/src/plugins/vis_type_timelion/server/lib/reduce.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; function allSeriesContainKey(seriesList, key) { const containsKeyInitialValue = true; @@ -42,7 +42,7 @@ async function pairwiseReduce(left, right, fn) { if (allSeriesContainKey(left, 'split') && allSeriesContainKey(right, 'split')) { pairwiseField = 'split'; } - const indexedList = _.indexBy(right.list, pairwiseField); + const indexedList = _.keyBy(right.list, pairwiseField); // ensure seriesLists contain same pairwise labels left.list.forEach((leftSeries) => { diff --git a/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js b/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js index 7a34b5ec98ff0..5c30f53fd530e 100644 --- a/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js +++ b/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js @@ -17,11 +17,11 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function unzipPairs(timeValObject) { const paired = _.chain(timeValObject) - .pairs() + .toPairs() .map(function (point) { return [parseInt(point[0], 10), point[1]]; }) diff --git a/src/plugins/vis_type_timelion/server/routes/functions.ts b/src/plugins/vis_type_timelion/server/routes/functions.ts index 85723824d2141..4321f3cea531b 100644 --- a/src/plugins/vis_type_timelion/server/routes/functions.ts +++ b/src/plugins/vis_type_timelion/server/routes/functions.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { IRouter } from 'kibana/server'; import { LoadFunctions } from '../lib/load_functions'; diff --git a/src/plugins/vis_type_timelion/server/routes/run.ts b/src/plugins/vis_type_timelion/server/routes/run.ts index b8cefc8a07f28..c96011eceac67 100644 --- a/src/plugins/vis_type_timelion/server/routes/run.ts +++ b/src/plugins/vis_type_timelion/server/routes/run.ts @@ -19,7 +19,7 @@ import { IRouter, Logger } from 'kibana/server'; import { schema } from '@kbn/config-schema'; import Bluebird from 'bluebird'; -import _ from 'lodash'; +import _ from 'lodash4'; // @ts-ignore import chainRunnerFn from '../handlers/chain_runner.js'; // @ts-ignore diff --git a/src/plugins/vis_type_timelion/server/routes/validate_es.ts b/src/plugins/vis_type_timelion/server/routes/validate_es.ts index d5ce80dc151a2..82c43879eaa2a 100644 --- a/src/plugins/vis_type_timelion/server/routes/validate_es.ts +++ b/src/plugins/vis_type_timelion/server/routes/validate_es.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { IRouter } from 'kibana/server'; export function validateEsRoute(router: IRouter) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/abs.js b/src/plugins/vis_type_timelion/server/series_functions/abs.js index d55da3b7ec0e0..653943d657840 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/abs.js +++ b/src/plugins/vis_type_timelion/server/series_functions/abs.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('abs', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/abs.test.js b/src/plugins/vis_type_timelion/server/series_functions/abs.test.js index 2e01370ddfb99..49c2bf269a0d6 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/abs.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/abs.test.js @@ -19,7 +19,7 @@ import fn from './abs'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; const seriesList = require('./fixtures/series_list.js')(); import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js index 8686c6b6542db..a27ba30e11923 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js @@ -19,7 +19,7 @@ import fn from './index'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from '../helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js index 853ce337efac2..8572171525d7b 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.sum(points) / points.length; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js index 807e620ee941b..74ce1126aac83 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.uniq(points).length; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js index 05e560b84335f..c3c91b8275f6a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.first(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js index 2340456e589ad..ccb554e190c9c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../../lib/alter.js'; import Chainable from '../../lib/classes/chainable'; -import _ from 'lodash'; +import _ from 'lodash4'; const functions = { avg: require('./avg'), diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js index 8f252fb451027..4c0b4213966fd 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.last(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js index 5b2610f07bbea..3a7372f1f9d20 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.max(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js index 1ebf9be2f9146..fd49a76643e58 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.min(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js index 34b5fe277dd34..88398679f2bbc 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (points) { return _.sum(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/bars.test.js b/src/plugins/vis_type_timelion/server/series_functions/bars.test.js index 936c68b64d580..ecc6a04777706 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/bars.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/bars.test.js @@ -19,7 +19,7 @@ import fn from './bars'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/color.test.js b/src/plugins/vis_type_timelion/server/series_functions/color.test.js index b0eb11219ed01..e7ee8c0ab5b57 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/color.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/color.test.js @@ -19,7 +19,7 @@ import fn from './color'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/condition.js b/src/plugins/vis_type_timelion/server/series_functions/condition.js index 789b3c60e4a9c..ee5d31bdf1bf6 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/condition.js +++ b/src/plugins/vis_type_timelion/server/series_functions/condition.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; import argType from '../handlers/lib/arg_type.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/condition.test.js b/src/plugins/vis_type_timelion/server/series_functions/condition.test.js index 7730bcc1acca3..e4abcf4fca7b0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/condition.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/condition.test.js @@ -22,7 +22,7 @@ import moment from 'moment'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; import getSeriesList from './helpers/get_single_series_list'; -import _ from 'lodash'; +import _ from 'lodash4'; describe('condition.js', function () { let comparable; diff --git a/src/plugins/vis_type_timelion/server/series_functions/cusum.js b/src/plugins/vis_type_timelion/server/series_functions/cusum.js index decbd22b4345c..5eee545c79e7f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/cusum.js +++ b/src/plugins/vis_type_timelion/server/series_functions/cusum.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('cusum', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js b/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js index 91d01e10c5826..0b0efe87ad5f6 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js @@ -19,7 +19,7 @@ import fn from './cusum'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/derivative.js b/src/plugins/vis_type_timelion/server/series_functions/derivative.js index a034585597d63..1bc02aa3be681 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/derivative.js +++ b/src/plugins/vis_type_timelion/server/series_functions/derivative.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('derivative', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js b/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js index 2da72ecf9f4e0..bc690ba23c4ab 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js @@ -19,7 +19,7 @@ import fn from './derivative'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/divide.test.js b/src/plugins/vis_type_timelion/server/series_functions/divide.test.js index ceb435f6c9898..5c9ed748e61b0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/divide.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/divide.test.js @@ -19,7 +19,7 @@ import fn from './divide'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js b/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js index a624ff72ead69..78cfcba1cafa9 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js @@ -26,7 +26,7 @@ import createDateAgg from './lib/create_date_agg'; import esResponse from '../fixtures/es_response'; import Bluebird from 'bluebird'; -import _ from 'lodash'; +import _ from 'lodash4'; import { expect } from 'chai'; import sinon from 'sinon'; import invoke from '../helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/index.js b/src/plugins/vis_type_timelion/server/series_functions/es/index.js index fd392f599c1d2..e7d8aa9730e81 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/index.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import Datasource from '../../lib/classes/datasource'; import buildRequest from './lib/build_request'; import toSeriesList from './lib/agg_response_to_series_list'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js b/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js index 409372da24724..1cf150eb3ab61 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js @@ -17,10 +17,10 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function timeBucketsToPairs(buckets) { - const timestamps = _.pluck(buckets, 'key'); + const timestamps = _.map(buckets, 'key'); const series = {}; _.each(buckets, function (bucket) { _.forOwn(bucket, function (val, key) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js b/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js index bc0e368fbdab1..2b6e962d3dbfe 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import moment from 'moment'; import { buildAggBody } from './agg_body'; import createDateAgg from './create_date_agg'; @@ -50,7 +50,7 @@ export default function buildRequest(config, tlConfig, scriptedFields, timeout) .map(function (q) { return [q, { query_string: { query: q } }]; }) - .zipObject() + .fromPairs() .value(), }, aggs: {}, diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js b/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js index 904fe69cbc57c..ae498f6fd94ae 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { buildAggBody } from './agg_body'; export default function createDateAgg(config, tlConfig, scriptedFields) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/fit.js b/src/plugins/vis_type_timelion/server/series_functions/fit.js index b472c23b9c79f..843bf6c731fcc 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/fit.js +++ b/src/plugins/vis_type_timelion/server/series_functions/fit.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; import loadFunctions from '../lib/load_functions.js'; const fitFunctions = loadFunctions('fit_functions'); diff --git a/src/plugins/vis_type_timelion/server/series_functions/fit.test.js b/src/plugins/vis_type_timelion/server/series_functions/fit.test.js index c352f3ba60b87..6a8596f1488eb 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/fit.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/fit.test.js @@ -22,7 +22,7 @@ import moment from 'moment'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; import getSeriesList from './helpers/get_single_series_list'; -import _ from 'lodash'; +import _ from 'lodash4'; describe('fit.js', function () { describe('should not filter out zeros', function () { diff --git a/src/plugins/vis_type_timelion/server/series_functions/graphite.js b/src/plugins/vis_type_timelion/server/series_functions/graphite.js index c0b6ba1bc0fff..fb3da108a67dd 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/graphite.js +++ b/src/plugins/vis_type_timelion/server/series_functions/graphite.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import fetch from 'node-fetch'; import moment from 'moment'; import Datasource from '../lib/classes/datasource'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js index 76ac57f8247ec..9f33faef46d7d 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function getSeries(name, buckets, points) { const fill = _.partial( diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js index c32f919a269b8..8f34e589dccf0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function (list, overrides) { return _.merge( diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js index b307461a4133e..193aca481112d 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js @@ -19,7 +19,7 @@ import getSeries from './get_series'; import getSeriesList from './get_series_list'; -import _ from 'lodash'; +import _ from 'lodash4'; export default function (name, data) { return getSeriesList([getSeries(name, _.map(data, 0), _.map(data, 1))]); diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js index 8ea6e7af59231..bdc4b70511c55 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js @@ -18,7 +18,7 @@ */ // invokes a series_function with the specified arguments -import _ from 'lodash'; +import _ from 'lodash4'; import indexArguments from '../../handlers/lib/index_arguments'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/hide.test.js b/src/plugins/vis_type_timelion/server/series_functions/hide.test.js index ad330bb7844de..75faa5d9398ac 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/hide.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/hide.test.js @@ -19,7 +19,7 @@ import fn from './hide'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/index.js b/src/plugins/vis_type_timelion/server/series_functions/holt/index.js index dd3274c5766af..b7d81c64bf005 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/index.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../../lib/classes/chainable'; import ses from './lib/ses'; import des from './lib/des'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js index a1fe4b1f1f52c..5b51f0fb68c94 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; export default function des(points, alpha, beta) { let level; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js index 5fe4eddc4ab15..38a351fa534ff 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js @@ -21,7 +21,7 @@ Single exponential smoothing. Assuming even interval */ -import _ from 'lodash'; +import _ from 'lodash4'; export default function ses(points, alpha) { let origin; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js index d8d136a5e78ce..bb60ef6d5ac49 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js @@ -27,7 +27,7 @@ Hourly data might have: - Annual seasonality (frequency=24×365.25=8766) */ -import _ from 'lodash'; +import _ from 'lodash4'; // Uh, I don't think this will work when you have nulls in the initial seasonal components function initSeasonalComponents(samplePoints, seasonLength) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/label.test.js b/src/plugins/vis_type_timelion/server/series_functions/label.test.js index 6ce6b688c77c4..681aff257f82c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/label.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/label.test.js @@ -19,7 +19,7 @@ import fn from './label'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/log.js b/src/plugins/vis_type_timelion/server/series_functions/log.js index 7b9ce4c9f68ec..6fe57f7c66576 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/log.js +++ b/src/plugins/vis_type_timelion/server/series_functions/log.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('log', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/log.test.js b/src/plugins/vis_type_timelion/server/series_functions/log.test.js index b658d84cd1afa..766189888513a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/log.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/log.test.js @@ -19,7 +19,7 @@ import fn from './log'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/max.test.js b/src/plugins/vis_type_timelion/server/series_functions/max.test.js index 9ac9a3eff5582..fb085050c7983 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/max.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/max.test.js @@ -19,7 +19,7 @@ import fn from './max'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/min.test.js b/src/plugins/vis_type_timelion/server/series_functions/min.test.js index 691185a7d068e..d8e4e842765f2 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/min.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/min.test.js @@ -19,7 +19,7 @@ import fn from './min'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js index 108eb0c72f19d..3b1b7fc1d3f0f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js +++ b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; import { toMS } from '../../common/lib/to_milliseconds'; @@ -81,7 +81,7 @@ export default new Chainable('movingaverage', { } _position = _position || defaultPosition; - if (!_.contains(validPositions, _position)) { + if (!_.includes(validPositions, _position)) { throw new Error( i18n.translate( 'timelion.serverSideErrors.movingaverageFunction.notValidPositionErrorMessage', diff --git a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js index a71c57cab28e3..d382308447a6b 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js @@ -21,7 +21,7 @@ import fn from './movingaverage'; const expect = require('chai').expect; import moment from 'moment'; -import _ from 'lodash'; +import _ from 'lodash4'; import buckets from './fixtures/bucket_list'; import getSeries from './helpers/get_series'; import getSeriesList from './helpers/get_series_list'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/movingstd.js b/src/plugins/vis_type_timelion/server/series_functions/movingstd.js index a7ecb4d5b4738..c144fa5f9154c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/movingstd.js +++ b/src/plugins/vis_type_timelion/server/series_functions/movingstd.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; const positions = ['left', 'right', 'center']; @@ -61,7 +61,7 @@ export default new Chainable('movingstd', { return alter(args, function (eachSeries, _window, _position) { _position = _position || defaultPosition; - if (!_.contains(positions, _position)) { + if (!_.includes(positions, _position)) { throw new Error( i18n.translate( 'timelion.serverSideErrors.movingstdFunction.notValidPositionErrorMessage', diff --git a/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js b/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js index 906646cf971b5..ae9f823767df9 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js @@ -19,7 +19,7 @@ import fn from './multiply'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/points.js b/src/plugins/vis_type_timelion/server/series_functions/points.js index bf797bb5aa343..89bb71768a584 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/points.js +++ b/src/plugins/vis_type_timelion/server/series_functions/points.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; const validSymbols = ['triangle', 'cross', 'square', 'diamond', 'circle']; @@ -105,7 +105,7 @@ export default new Chainable('points', { } symbol = symbol || defaultSymbol; - if (!_.contains(validSymbols, symbol)) { + if (!_.includes(validSymbols, symbol)) { throw new Error( i18n.translate('timelion.serverSideErrors.pointsFunction.notValidSymbolErrorMessage', { defaultMessage: 'Valid symbols are: {validSymbols}', diff --git a/src/plugins/vis_type_timelion/server/series_functions/points.test.js b/src/plugins/vis_type_timelion/server/series_functions/points.test.js index fe7b6f13e1378..e3d339f4791d0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/points.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/points.test.js @@ -19,7 +19,7 @@ import fn from './points'; -import _ from 'lodash'; +import _ from 'lodash4'; import assert from 'chai'; const expect = assert.expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/precision.test.js b/src/plugins/vis_type_timelion/server/series_functions/precision.test.js index e56feb3d7c420..c69d07ba94a2c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/precision.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/precision.test.js @@ -19,7 +19,7 @@ import fn from './precision'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/props.js b/src/plugins/vis_type_timelion/server/series_functions/props.js index 6205e4d43fbf0..037b76b1834a1 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/props.js +++ b/src/plugins/vis_type_timelion/server/series_functions/props.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; import Chainable from '../lib/classes/chainable'; -import _ from 'lodash'; +import _ from 'lodash4'; function unflatten(data) { if (Object(data) !== data || Array.isArray(data)) return data; diff --git a/src/plugins/vis_type_timelion/server/series_functions/quandl.js b/src/plugins/vis_type_timelion/server/series_functions/quandl.js index 775ebb17a8d2c..2394118be240f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/quandl.js +++ b/src/plugins/vis_type_timelion/server/series_functions/quandl.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import fetch from 'node-fetch'; import moment from 'moment'; fetch.Promise = require('bluebird'); diff --git a/src/plugins/vis_type_timelion/server/series_functions/range.js b/src/plugins/vis_type_timelion/server/series_functions/range.js index 38525bec7226a..4b97583c22458 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/range.js +++ b/src/plugins/vis_type_timelion/server/series_functions/range.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('range', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/range.test.js b/src/plugins/vis_type_timelion/server/series_functions/range.test.js index b9a514602e364..a647ee60f193e 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/range.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/range.test.js @@ -19,7 +19,7 @@ import fn from './range'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js index 8d7ea463df186..e4764939c221a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js +++ b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; import { toMS } from '../../common/lib/to_milliseconds'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('scale_interval', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js index 24e7e1b07048d..1320cdc4d569f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js @@ -19,7 +19,7 @@ import fn from './scale_interval'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/static.js b/src/plugins/vis_type_timelion/server/series_functions/static.js index 631131e6f0b57..03c0cbd79b170 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/static.js +++ b/src/plugins/vis_type_timelion/server/series_functions/static.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import Datasource from '../lib/classes/datasource'; import Bluebird from 'bluebird'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/static.test.js b/src/plugins/vis_type_timelion/server/series_functions/static.test.js index 88ec9fecd904a..8ea1dcda2a098 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/static.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/static.test.js @@ -19,14 +19,14 @@ import fn from './static'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; describe('static.js', () => { it('returns a series in which all numbers are the same', () => { return invoke(fn, [5]).then((r) => { - expect(_.unique(_.map(r.output.list[0].data, 1))).to.eql([5]); + expect(_.uniq(_.map(r.output.list[0].data, 1))).to.eql([5]); }); }); diff --git a/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js b/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js index 7085e0baed023..63550221dee18 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js @@ -19,7 +19,7 @@ import fn from './subtract'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/sum.test.js b/src/plugins/vis_type_timelion/server/series_functions/sum.test.js index 360f19c97f8e1..efb98b6ec3175 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/sum.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/sum.test.js @@ -19,7 +19,7 @@ import fn from './sum'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/title.test.js b/src/plugins/vis_type_timelion/server/series_functions/title.test.js index c45b91ebfd4d1..3ce844e76d10b 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/title.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/title.test.js @@ -19,7 +19,7 @@ import fn from './title'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/trend/index.js b/src/plugins/vis_type_timelion/server/series_functions/trend/index.js index ea5175db3c84b..e78c5544b7533 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trend/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trend/index.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../../lib/classes/chainable'; import { linear, log } from './lib/regress'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js b/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js index 816692da7d017..40611b4b721d7 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js @@ -23,7 +23,7 @@ * Licensed under the MIT license. */ -import _ from 'lodash'; +import _ from 'lodash4'; function sum(data, fn) { return _.reduce( diff --git a/src/plugins/vis_type_timelion/server/series_functions/trim.js b/src/plugins/vis_type_timelion/server/series_functions/trim.js index 8a8e38ab3a5a7..5ce1408882162 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trim.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trim.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash'; +import _ from 'lodash4'; import Chainable from '../lib/classes/chainable'; export default new Chainable('trim', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/trim.test.js b/src/plugins/vis_type_timelion/server/series_functions/trim.test.js index 6b1e88f37c145..ebe77ec04531a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trim.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trim.test.js @@ -19,7 +19,7 @@ import fn from './trim'; -import _ from 'lodash'; +import _ from 'lodash4'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/worldbank.js b/src/plugins/vis_type_timelion/server/series_functions/worldbank.js index 7a73fd341a8da..7a8e95d50cdab 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/worldbank.js +++ b/src/plugins/vis_type_timelion/server/series_functions/worldbank.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import fetch from 'node-fetch'; import moment from 'moment'; import Datasource from '../lib/classes/datasource'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js b/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js index 305c586a2090f..c1e311ea8d29a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js +++ b/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import worldbank from './worldbank.js'; import Bluebird from 'bluebird'; import Datasource from '../lib/classes/datasource'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/yaxis.js b/src/plugins/vis_type_timelion/server/series_functions/yaxis.js index 7a249305ee76e..6dea51e8d243a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/yaxis.js +++ b/src/plugins/vis_type_timelion/server/series_functions/yaxis.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import alter from '../lib/alter.js'; import Chainable from '../lib/classes/chainable'; const tickFormatters = { diff --git a/src/plugins/vis_type_timeseries/common/agg_lookup.js b/src/plugins/vis_type_timeseries/common/agg_lookup.js index 432da03e3d45d..8922a279a7400 100644 --- a/src/plugins/vis_type_timeseries/common/agg_lookup.js +++ b/src/plugins/vis_type_timeseries/common/agg_lookup.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { i18n } from '@kbn/i18n'; export const lookup = { diff --git a/src/plugins/vis_type_timeseries/common/calculate_label.js b/src/plugins/vis_type_timeseries/common/calculate_label.js index 9f3030eeb6eae..309c854065ed7 100644 --- a/src/plugins/vis_type_timeseries/common/calculate_label.js +++ b/src/plugins/vis_type_timeseries/common/calculate_label.js @@ -17,7 +17,7 @@ * under the License. */ -import { includes, startsWith } from 'lodash'; +import { includes, startsWith } from 'lodash4'; import { lookup } from './agg_lookup'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_type_timeseries/common/extract_index_patterns.js b/src/plugins/vis_type_timeseries/common/extract_index_patterns.js index 3fb005b477199..b90073c96913b 100644 --- a/src/plugins/vis_type_timeseries/common/extract_index_patterns.js +++ b/src/plugins/vis_type_timeseries/common/extract_index_patterns.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { uniq } from 'lodash'; +import { uniq } from 'lodash4'; export function extractIndexPatterns(panel, excludedFields = {}) { const patterns = []; diff --git a/src/plugins/vis_type_timeseries/common/get_last_value.js b/src/plugins/vis_type_timeseries/common/get_last_value.js index 4ee7d122b3c03..391d24dbb6429 100644 --- a/src/plugins/vis_type_timeseries/common/get_last_value.js +++ b/src/plugins/vis_type_timeseries/common/get_last_value.js @@ -17,7 +17,7 @@ * under the License. */ -import { isArray, last } from 'lodash'; +import { isArray, last } from 'lodash4'; const DEFAULT_VALUE = 0; const extractValue = (data) => (data && data[1]) || null; diff --git a/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js b/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js index 798d16947c3d9..c2c92aaff6489 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js +++ b/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { EuiToolTip, EuiButtonIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { isBoolean } from 'lodash'; +import { isBoolean } from 'lodash4'; export function AddDeleteButtons(props) { const { testSubj } = props; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js index a2f1640904dd0..0e79b52629c07 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { last } from 'lodash'; +import { last } from 'lodash4'; import { AddDeleteButtons } from '../add_delete_buttons'; import { EuiIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { SeriesDragHandler } from '../series_drag_handler'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js index 83ddc23648ad3..056db626e74b1 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { includes } from 'lodash'; +import { includes } from 'lodash4'; import { injectI18n } from '@kbn/i18n/react'; import { EuiComboBox } from '@elastic/eui'; import { calculateSiblings } from '../lib/calculate_siblings'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js index fd64559cc1ec2..a7390b23c5e22 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js @@ -18,7 +18,7 @@ */ import PropTypes from 'prop-types'; import React from 'react'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { FormattedMessage } from '@kbn/i18n/react'; import { htmlIdGenerator, diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js index c8af4089ed783..b455174cd2fa0 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { assign } from 'lodash'; +import { assign } from 'lodash4'; import { AggSelect } from '../agg_select'; import { FieldSelect } from '../field_select'; import { AggRow } from '../agg_row'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js index 6d52eb9e3515c..5e05f07d69aa5 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js @@ -18,7 +18,7 @@ */ import PropTypes from 'prop-types'; import React from 'react'; -import { last } from 'lodash'; +import { last } from 'lodash4'; import { EuiFlexGroup } from '@elastic/eui'; import { MultiValueRow } from './multi_value_row'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js index bd421248a3607..835d6866c22ae 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { collectionActions } from '../lib/collection_actions'; import { AddDeleteButtons } from '../add_delete_buttons'; import uuid from 'uuid'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js index 004a378f5d86f..abbccf5f9b717 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import uuid from 'uuid'; import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; +import _ from 'lodash4'; import { AddDeleteButtons } from '../add_delete_buttons'; import { collectionActions } from '../lib/collection_actions'; import { MetricSelect } from './metric_select'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js b/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js index 34132e5f72716..7811238ad067a 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { collectionActions } from './lib/collection_actions'; import { KBN_FIELD_TYPES } from '../../../../../plugins/data/public'; import { AddDeleteButtons } from './add_delete_buttons'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/color_rules.js b/src/plugins/vis_type_timeseries/public/application/components/color_rules.js index 46b2886daf36d..fba92f3fb7e39 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/color_rules.js +++ b/src/plugins/vis_type_timeseries/public/application/components/color_rules.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component, Fragment } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { AddDeleteButtons } from './add_delete_buttons'; import { collectionActions } from './lib/collection_actions'; import { ColorPicker } from './color_picker'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js b/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js index dca82cdc0b6b6..a90f808929eae 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js +++ b/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { htmlIdGenerator, EuiComboBox, diff --git a/src/plugins/vis_type_timeseries/public/application/components/error.js b/src/plugins/vis_type_timeseries/public/application/components/error.js index 2bdce7839621d..e7aa806bbf5fc 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/error.js +++ b/src/plugins/vis_type_timeseries/public/application/components/error.js @@ -20,7 +20,7 @@ import { EuiIcon, EuiSpacer, EuiText } from '@elastic/eui'; import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { FormattedMessage } from '@kbn/i18n/react'; const guidPattern = /\[[[a-f\d-\\]{36}\]/g; diff --git a/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js b/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js index 30c6d5b51d187..9c741627b5c63 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js +++ b/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import PropTypes from 'prop-types'; import React, { useContext } from 'react'; import { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js b/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js index d813a3536f9d8..8ee5f7f82c7fd 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; function getAncestors(siblings, item) { const ancestors = (item.id && [item.id]) || []; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js b/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js index 2495026304be8..c9198d942b19b 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js @@ -17,6 +17,6 @@ * under the License. */ -import { uniq, map, size, flow } from 'lodash'; +import { uniq, map, size, flow } from 'lodash4'; export const areFieldsDifferent = (name) => (series) => flow(uniq, size)(map(series, name)) > 1; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js b/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js index 4d48095898b80..42f302808c6a4 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { getLastValue } from '../../../../../../plugins/vis_type_timeseries/common/get_last_value'; import { createTickFormatter } from './tick_formatter'; import moment from 'moment'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js index beee459c65458..1fc90527d29d0 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export const createChangeHandler = (handleChange, model) => (part) => { const doc = _.assign({}, model, part); diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js index 961f5e95a9f10..608dd29eb755d 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { detectIE } from './detect_ie'; export const createNumberHandler = (handleChange) => { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js index ff6c2cc0767f5..d15aa1fb2bd39 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export const createSelectHandler = (handleChange) => { return (name) => (selectedOptions) => { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js index 1dd5e02d74980..184ef49d8dc88 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { detectIE } from './detect_ie'; export const createTextHandler = (handleChange) => { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js b/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js index 86361afca3b12..a61635ae5edc5 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js @@ -18,7 +18,7 @@ */ import moment from 'moment'; import { i18n } from '@kbn/i18n'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { search } from '../../../../../../plugins/data/public'; const { parseEsInterval } = search.aggs; import { GTE_INTERVAL_RE } from '../../../../../../plugins/vis_type_timeseries/common/interval_regexp'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js b/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js index 9d2398ed079a9..afc7e4c0de868 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js @@ -18,7 +18,7 @@ */ import uuid from 'uuid'; -import _ from 'lodash'; +import _ from 'lodash4'; import { newMetricAggFn } from './new_metric_agg_fn'; import { STACKED_OPTIONS } from '../../visualizations/constants'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js b/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js index 2c961b00b5ef9..2f4b05a77c512 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js @@ -18,7 +18,7 @@ */ import uuid from 'uuid'; -import _ from 'lodash'; +import _ from 'lodash4'; export const reIdSeries = (source) => { const series = _.cloneDeep(source); diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js b/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js index f28e06384868a..85056ea002b70 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import handlebars from 'handlebars/dist/handlebars'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js index beb691f4b7117..fabdb9ffd6df8 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { newMetricAggFn } from './new_metric_agg_fn'; import { isBasicAgg } from '../../../../../../plugins/vis_type_timeseries/common/agg_lookup'; import { handleAdd, handleChange } from './collection_actions'; @@ -31,7 +31,7 @@ export const seriesChangeHandler = (props, items) => (doc) => { const metric = newMetricAggFn(); metric.type = doc.type; const incompatPipelines = ['calculation', 'series_agg']; - if (!_.contains(incompatPipelines, doc.type)) metric.field = doc.id; + if (!_.includes(incompatPipelines, doc.type)) metric.field = doc.id; return metric; }); } else { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js b/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js index e1f25fccf6369..9e13965d567e7 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js @@ -18,7 +18,7 @@ */ import handlebars from 'handlebars/dist/handlebars'; -import { isNumber } from 'lodash'; +import { isNumber } from 'lodash4'; import { inputFormats, outputFormats, isDuration } from '../lib/durations'; import { getFieldFormats } from '../../../services'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js b/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js index 1de58adc7e268..15bad3647e073 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js @@ -25,7 +25,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { createTickFormatter } from './lib/tick_formatter'; import { convertSeriesToVars } from './lib/convert_series_to_vars'; -import _ from 'lodash'; +import _ from 'lodash4'; import 'brace/mode/markdown'; import 'brace/theme/github'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js b/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js index 2b729e403898e..3a25e9173feae 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js +++ b/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js @@ -23,7 +23,7 @@ import { FieldSelect } from '../aggs/field_select'; import { SeriesEditor } from '../series_editor'; import { IndexPattern } from '../index_pattern'; import { createTextHandler } from '../lib/create_text_handler'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import uuid from 'uuid'; import { YesNo } from '../yes_no'; import { diff --git a/src/plugins/vis_type_timeseries/public/application/components/series.js b/src/plugins/vis_type_timeseries/public/application/components/series.js index 565ddb53f2633..46c405937cd16 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/series.js +++ b/src/plugins/vis_type_timeseries/public/application/components/series.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import { assign, get } from 'lodash'; +import { assign, get } from 'lodash4'; import { TimeseriesSeries as timeseries } from './vis_types/timeseries/series'; import { MetricSeries as metric } from './vis_types/metric/series'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/series_editor.js b/src/plugins/vis_type_timeseries/public/application/components/series_editor.js index 7be10e42b9ca6..0106d11f14286 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/series_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/series_editor.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import { find } from 'lodash'; +import { find } from 'lodash4'; import { reIdSeries } from './lib/re_id_series'; import { Series } from './series'; import { handleAdd, handleDelete, handleChange } from './lib/collection_actions'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/split.js b/src/plugins/vis_type_timeseries/public/application/components/split.js index d1c53899db879..759514ad88849 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/split.js +++ b/src/plugins/vis_type_timeseries/public/application/components/split.js @@ -20,7 +20,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import uuid from 'uuid'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { SplitByTerms } from './splits/terms'; import { SplitByFilter } from './splits/filter'; import { SplitByFilters } from './splits/filters'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js b/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js index 866c9f5ee2444..2a6bba334da63 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js +++ b/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { collectionActions } from '../lib/collection_actions'; import { AddDeleteButtons } from '../add_delete_buttons'; import { ColorPicker } from '../color_picker'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js b/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js index b71141f44f52d..826ad262004b2 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js +++ b/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { get, find } from 'lodash'; +import { get, find } from 'lodash4'; import { GroupBySelect } from './group_by_select'; import { createTextHandler } from '../lib/create_text_handler'; import { createSelectHandler } from '../lib/create_select_handler'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js b/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js index a96890d4d1502..754ecfbd07b2a 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import * as Rx from 'rxjs'; import { share } from 'rxjs/operators'; -import { isEqual, isEmpty, debounce } from 'lodash'; +import { isEqual, isEmpty, debounce } from 'lodash4'; import { VisEditorVisualization } from './vis_editor_visualization'; import { Visualization } from './visualization'; import { VisPicker } from './vis_picker'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js b/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js index 0ae1c86ae3117..bf34257ebb490 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js @@ -18,7 +18,7 @@ */ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { keyCodes, EuiFlexGroup, EuiFlexItem, EuiButton, EuiText, EuiSwitch } from '@elastic/eui'; import { FormattedMessage, injectI18n } from '@kbn/i18n/react'; import { diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js index 4c029f1c0d5b0..347b9a73e3679 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { visWithSplits } from '../../vis_with_splits'; import { createTickFormatter } from '../../lib/tick_formatter'; -import _, { get, isUndefined, assign, includes } from 'lodash'; +import _, { get, isUndefined, assign, includes } from 'lodash4'; import { Gauge } from '../../../visualizations/views/gauge'; import { getLastValue } from '../../../../../../../plugins/vis_type_timeseries/common/get_last_value'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js index a4e7738e92318..2f83683eb4876 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js @@ -20,7 +20,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import classNames from 'classnames'; import uuid from 'uuid'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { Markdown } from '../../../../../../../plugins/kibana_react/public'; import { ErrorComponent } from '../../error'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js index f37971e990c96..5f1306dcd3fe2 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { visWithSplits } from '../../vis_with_splits'; import { createTickFormatter } from '../../lib/tick_formatter'; -import _, { get, isUndefined, assign, includes, pick } from 'lodash'; +import _, { get, isUndefined, assign, includes, pick } from 'lodash4'; import { Metric } from '../../../visualizations/views/metric'; import { getLastValue } from '../../../../../../../plugins/vis_type_timeseries/common/get_last_value'; import { isBackgroundInverted } from '../../../lib/set_is_reversed'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js index d55afeda62e70..fb3c562934ca8 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js @@ -17,7 +17,7 @@ * under the License. */ -import _, { isArray, last, get } from 'lodash'; +import _, { isArray, last, get } from 'lodash4'; import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { createTickFormatter } from '../../lib/tick_formatter'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js index ddfaf3c1428d9..cd878fb3b903e 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import reactCSS from 'reactcss'; -import { startsWith, get, cloneDeep, map } from 'lodash'; +import { startsWith, get, cloneDeep, map } from 'lodash4'; import { htmlIdGenerator } from '@elastic/eui'; import { ScaleType } from '@elastic/charts'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js index a4fe6f796bc0b..eab3693b7c572 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js @@ -24,7 +24,7 @@ import { isBackgroundInverted } from '../../../lib/set_is_reversed'; import { replaceVars } from '../../lib/replace_vars'; import PropTypes from 'prop-types'; import React from 'react'; -import { sortBy, first, get, gt, gte, lt, lte } from 'lodash'; +import { sortBy, first, get, gt, gte, lt, lte } from 'lodash4'; const OPERATORS = { gt, gte, lt, lte }; function sortByDirection(data, direction, fn) { diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js b/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js index 8b63d1b5043f5..f474d11101291 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js @@ -19,7 +19,7 @@ import React from 'react'; import { getDisplayName } from './lib/get_display_name'; -import { last, findIndex, first } from 'lodash'; +import { last, findIndex, first } from 'lodash4'; import { calculateLabel } from '../../../../../plugins/vis_type_timeseries/common/calculate_label'; export function visWithSplits(WrappedComponent) { diff --git a/src/plugins/vis_type_timeseries/public/application/components/visualization.js b/src/plugins/vis_type_timeseries/public/application/components/visualization.js index 8b8218653f97c..0088fe2c89190 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/visualization.js +++ b/src/plugins/vis_type_timeseries/public/application/components/visualization.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { TimeseriesVisualization } from './vis_types/timeseries/vis'; import { metric } from './vis_types/metric/vis'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/yes_no.js b/src/plugins/vis_type_timeseries/public/application/components/yes_no.js index 7834de0b8fa06..c75f863a53b4e 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/yes_no.js +++ b/src/plugins/vis_type_timeseries/public/application/components/yes_no.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { EuiRadio, htmlIdGenerator } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js b/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js index 5d18c0a2f09cd..33c2b11d11941 100644 --- a/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js +++ b/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { RESTRICTIONS_KEYS, DEFAULT_UI_RESTRICTION, diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js b/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js index e6a89ee2e621c..0c098efdce558 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export const getValueBy = (fn, data) => { if (_.isNumber(data)) return data; diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js index 50a2042425438..686993d874b18 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import PropTypes from 'prop-types'; import React, { Component } from 'react'; import classNames from 'classnames'; diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js index 7a0ef67ee24f6..52d609dab585f 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import reactcss from 'reactcss'; import { calculateCoordinates } from '../lib/calculate_coordinates'; import { COLORS } from '../constants/chart'; diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js index 4c286f61720ac..fa93fee83cce3 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash'; +import _ from 'lodash4'; import { getLastValue } from '../../../../../../plugins/vis_type_timeseries/common/get_last_value'; import reactcss from 'reactcss'; import { calculateCoordinates } from '../lib/calculate_coordinates'; diff --git a/src/plugins/vis_type_timeseries/public/metrics_fn.ts b/src/plugins/vis_type_timeseries/public/metrics_fn.ts index b573225feaab1..539083519327b 100644 --- a/src/plugins/vis_type_timeseries/public/metrics_fn.ts +++ b/src/plugins/vis_type_timeseries/public/metrics_fn.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, KibanaContext, Render } from '../../expressions/public'; diff --git a/src/plugins/vis_type_timeseries/server/lib/get_fields.ts b/src/plugins/vis_type_timeseries/server/lib/get_fields.ts index fd20ff8b024b3..516ccdb72a0d9 100644 --- a/src/plugins/vis_type_timeseries/server/lib/get_fields.ts +++ b/src/plugins/vis_type_timeseries/server/lib/get_fields.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { uniq } from 'lodash'; +import { uniqBy } from 'lodash4'; import { first, map } from 'rxjs/operators'; import { KibanaRequest, RequestHandlerContext } from 'kibana/server'; @@ -87,5 +87,5 @@ export async function getFields( (field) => field.aggregatable && !indexPatterns.isNestedField(field) ); - return uniq(fields, (field) => field.name); + return uniqBy(fields, (field) => field.name); } diff --git a/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts b/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts index f697e754a2e00..f947b65c0caf1 100644 --- a/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts +++ b/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts @@ -18,7 +18,7 @@ */ import { FakeRequest, RequestHandlerContext } from 'kibana/server'; -import _ from 'lodash'; +import _ from 'lodash4'; import { first, map } from 'rxjs/operators'; import { getPanelData } from './vis_data/get_panel_data'; import { Framework } from '../index'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js index e4bda194299df..c64486a5d182c 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; const DEFAULT_TIME_FIELD = '@timestamp'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js index 1d1c245907959..e3c85a2d3d928 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js @@ -18,7 +18,7 @@ */ import { buildRequestBody } from './table/build_request_body'; import { handleErrorResponse } from './handle_error_response'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { processBucket } from './table/process_bucket'; import { getEsQueryConfig } from './helpers/get_es_query_uisettings'; import { getIndexPatternObject } from './helpers/get_index_pattern'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js index 0e4d2ce2a926c..2ad5b0b9c6187 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js @@ -19,7 +19,7 @@ import { getBucketsPath } from './get_buckets_path'; import { parseInterval } from './parse_interval'; -import { set, isEmpty } from 'lodash'; +import { set, isEmpty } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { MODEL_SCRIPTS } from './moving_fn_scripts'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js index c9363f32b50aa..1f17241a3a069 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, includes, max, min, sum, noop } from 'lodash'; +import { get, includes, max, min, sum, noop } from 'lodash4'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; import { EXTENDED_STATS_TYPES, METRIC_TYPES } from '../../../../common/metric_types'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js index 6855f50f956f2..3afa2f14405ac 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js @@ -17,7 +17,7 @@ * under the License. */ -import { startsWith } from 'lodash'; +import { startsWith } from 'lodash4'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; import { METRIC_TYPES } from '../../../../common/metric_types'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js index f37f0da4bbe93..065fc1f37b13d 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; export async function getIndexPatternObject(req, indexPatternString) { let defaultIndex; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js index 113fca37de111..5875b680304f6 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function getLastMetric(series) { return _.last(series.metrics.filter((s) => s.type !== 'series_agg')); diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js index 4308c7e78485f..21c569a51c9d2 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export const getSiblingAggValue = (row, metric) => { let key = metric.type.replace(/_bucket$/, ''); diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js index 54139a7c27e3f..d35a3542dba66 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js @@ -19,7 +19,7 @@ import Color from 'color'; import { calculateLabel } from '../../../../common/calculate_label'; -import _ from 'lodash'; +import _ from 'lodash4'; import { getLastMetric } from './get_last_metric'; import { getSplitColors } from './get_split_colors'; import { formatKey } from './format_key'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js index 00cef3b0eaced..3f8db4da62b43 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import moment from 'moment'; import dateMath from '@elastic/datemath'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js index 533d4ef8d30cc..4ab4be73d6a30 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash'; +import { last } from 'lodash4'; /** * @param {Array} seriesGroup diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js index be8f1741627ba..dad0ae308e1c8 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js @@ -17,7 +17,7 @@ * under the License. */ import { INTERVAL_STRING_RE } from '../../../../common/interval_regexp'; -import { sortBy, isNumber } from 'lodash'; +import { sortBy, isNumber } from 'lodash4'; export const ASCENDING_UNIT_ORDER = ['ms', 's', 'm', 'h', 'd', 'w', 'M', 'y']; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js index d07d343d1b1eb..64dfa953892e5 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js @@ -17,7 +17,7 @@ * under the License. */ import { overwrite } from '../../helpers'; -import _ from 'lodash'; +import _ from 'lodash4'; const isEmptyFilter = (filter = {}) => Boolean(filter.match_all) && _.isEmpty(filter.match_all); const hasSiblingPipelineAggregation = (aggs = {}) => Object.keys(aggs).length > 1; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js index ba2d64dad65fc..0efa36255dac0 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; export function calculateAggRoot(doc, column) { let aggRoot = `aggs.pivot.aggs.${column.id}.aggs`; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js index 9fdb96fa31481..45b2a06fd0d43 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { overwrite } from '../../helpers'; const isEmptyFilter = (filter = {}) => Boolean(filter.match_all) && _.isEmpty(filter.match_all); const hasSiblingPipelineAggregation = (aggs = {}) => Object.keys(aggs).length > 1; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js index ad085f25cf451..77ad9fe21687d 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, last } from 'lodash'; +import { get, last } from 'lodash4'; import { overwrite } from '../../helpers'; import { basicAggs } from '../../../../../common/basic_aggs'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js index fc7acc7fc35c0..75d9619dc990f 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, isEmpty } from 'lodash'; +import { get, isEmpty } from 'lodash4'; export function getAnnotationBuckets(resp, annotation) { return get(resp, `aggregations.${annotation.id}.buckets`, []) diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js index dab7e94a8194e..f70dc8b22b5a9 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js @@ -17,7 +17,7 @@ * under the License. */ -import { flow } from 'lodash'; +import { flow } from 'lodash4'; import { filterAnnotations } from './filter'; import { getAnnotationBuckets } from './buckets'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js index 63b77f8ad60f4..a2c43acdb51b7 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; function mean(values) { return _.sum(values) / values.length; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js index 9b3d8c16a1121..4d36ff9c7100d 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { isLastValueTimerangeMode } from '../../helpers/get_timerange_mode'; export function dropLastBucket(resp, panel, series) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js index f8752ce8fa3a8..061be85e4aa4e 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js @@ -18,7 +18,7 @@ */ const percentileValueMatch = /\[([0-9\.]+)\]$/; -import { startsWith, flatten, values, first, last } from 'lodash'; +import { startsWith, flatten, values, first, last } from 'lodash4'; import { getDefaultDecoration } from '../../helpers/get_default_decoration'; import { getSiblingAggValue } from '../../helpers/get_sibling_agg_value'; import { getSplits } from '../../helpers/get_splits'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js index d2b0ce9226bb9..717ef6fad7982 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js @@ -18,7 +18,7 @@ */ import { SeriesAgg } from './_series_agg'; -import _ from 'lodash'; +import _ from 'lodash4'; import { getDefaultDecoration } from '../../helpers/get_default_decoration'; import { calculateLabel } from '../../../../../common/calculate_label'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js index 14de6aa18f872..f2d491bd4f29f 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import moment from 'moment'; export function timeShift(resp, panel, series) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js index 511349b89deb1..e8e3e07328115 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; function mean(values) { return _.sum(values) / values.length; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js index 788bb6f14a0c7..a0e946bdc37de 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { last } from 'lodash'; +import { last } from 'lodash4'; import { getSplits } from '../../helpers/get_splits'; import { getLastMetric } from '../../helpers/get_last_metric'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js index c280538c7ce5f..2aa436ba2ac05 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { last } from 'lodash'; +import { last } from 'lodash4'; import { getSplits } from '../../helpers/get_splits'; import { getLastMetric } from '../../helpers/get_last_metric'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js index 343198bc22a6e..19909e0ea596d 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js @@ -18,7 +18,7 @@ */ import { SeriesAgg } from './_series_agg'; -import _ from 'lodash'; +import _ from 'lodash4'; import { calculateLabel } from '../../../../../common/calculate_label'; export function seriesAgg(resp, panel, series) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js index eef7143990e98..5d7dd2fdc7e6a 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js @@ -19,7 +19,7 @@ import { buildProcessorFunction } from '../build_processor_function'; import { processors } from '../response_processors/series'; -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; export function handleResponseBody(panel) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js index 0f2a7e153bde0..12085368f9461 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js @@ -21,7 +21,7 @@ import { buildProcessorFunction } from '../build_processor_function'; import { processors } from '../response_processors/table'; import { getLastValue } from '../../../../common/get_last_value'; import regression from 'regression'; -import { first, get } from 'lodash'; +import { first, get } from 'lodash4'; import { overwrite } from '../helpers'; import { getActiveSeries } from '../helpers/get_active_series'; diff --git a/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts b/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts index f6754e5fd9ca4..143a8472eaa4d 100644 --- a/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts +++ b/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flow } from 'lodash'; +import { flow } from 'lodash4'; import { SavedObjectMigrationFn, SavedObjectsType } from 'kibana/server'; const resetCount: SavedObjectMigrationFn = (doc) => ({ @@ -40,7 +40,7 @@ export const tsvbTelemetrySavedObjectType: SavedObjectsType = { }, }, migrations: { - '7.7.0': flow(resetCount), - '7.8.0': flow(resetCount), + '7.7.0': flow(resetCount), + '7.8.0': flow(resetCount), }, }; diff --git a/src/plugins/vis_type_vega/public/data_model/es_query_parser.js b/src/plugins/vis_type_vega/public/data_model/es_query_parser.js index f7772ff888a61..095adeeec9350 100644 --- a/src/plugins/vis_type_vega/public/data_model/es_query_parser.js +++ b/src/plugins/vis_type_vega/public/data_model/es_query_parser.js @@ -19,7 +19,7 @@ import moment from 'moment'; import { i18n } from '@kbn/i18n'; -import { isPlainObject, cloneDeep } from 'lodash'; +import { isPlainObject, cloneDeep } from 'lodash4'; const TIMEFILTER = '%timefilter%'; const AUTOINTERVAL = '%autointerval%'; diff --git a/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js b/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js index b04e221fc354e..5bc6f9cc827bf 100644 --- a/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js +++ b/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import moment from 'moment'; import { EsQueryParser } from './es_query_parser'; diff --git a/src/plugins/vis_type_vega/public/data_model/vega_parser.js b/src/plugins/vis_type_vega/public/data_model/vega_parser.js index cbfe2a6ede4f2..8d67f8c204fd1 100644 --- a/src/plugins/vis_type_vega/public/data_model/vega_parser.js +++ b/src/plugins/vis_type_vega/public/data_model/vega_parser.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import * as vega from 'vega-lib'; import * as vegaLite from 'vega-lite'; import schemaParser from 'vega-schema-url-parser'; diff --git a/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js b/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js index a40ef31260b6f..340341e5984a5 100644 --- a/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js +++ b/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { VegaParser } from './vega_parser'; import { bypassExternalUrlCheck } from '../vega_view/vega_base_view'; jest.mock('../services'); diff --git a/src/plugins/vis_type_vega/public/vega_fn.ts b/src/plugins/vis_type_vega/public/vega_fn.ts index a9c915fcfb636..aec0369214737 100644 --- a/src/plugins/vis_type_vega/public/vega_fn.ts +++ b/src/plugins/vis_type_vega/public/vega_fn.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, KibanaContext, Render } from '../../expressions/public'; import { VegaVisualizationDependencies } from './plugin'; @@ -58,9 +58,9 @@ export const createVegaFn = ( const vegaRequestHandler = createVegaRequestHandler(dependencies, context.abortSignal); const response = await vegaRequestHandler({ - timeRange: get(input, 'timeRange'), - query: get(input, 'query'), - filters: get(input, 'filters'), + timeRange: get(input, 'timeRange') as any, + query: get(input, 'query') as any, + filters: get(input, 'filters') as any, visParams: { spec: args.spec }, }); diff --git a/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js b/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js index 01386fd91abc5..bb4c68fb5f464 100644 --- a/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js +++ b/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js @@ -19,7 +19,7 @@ import { calculatePopoverPosition } from '@elastic/eui'; import { formatValue as createTooltipContent } from 'vega-tooltip'; -import _ from 'lodash'; +import _ from 'lodash4'; // Some of this code was adapted from https://github.com/vega/vega-tooltip diff --git a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx index d885f8fb0b12f..411b93033a81b 100644 --- a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx +++ b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx @@ -18,7 +18,7 @@ */ import React, { useState, useEffect, useCallback, useMemo } from 'react'; -import { cloneDeep, uniq, get } from 'lodash'; +import { cloneDeep, uniq, get } from 'lodash3'; import { EuiSpacer } from '@elastic/eui'; import { IAggConfig } from 'src/plugins/data/public'; diff --git a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts index 7c4f3b3ec8843..972d5f6fe2c65 100644 --- a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts +++ b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { capitalize } from 'lodash'; +import { capitalize } from 'lodash3'; import { BasicVislibParams, ValueAxis, SeriesParam } from '../../../types'; import { ChartModes, ChartTypes, InterpolationModes, Positions } from '../../../utils/collections'; diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js index cc131a0a5bc12..a07b2915f9abb 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js index 04fd9f19d742a..6dffcebd85ba2 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js index e016011ae5392..83d45d103a63c 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js index c1044160c0e7a..b428c50749b43 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js index a26dc9bd8b181..5ec4b903e0bf5 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { valueFormatter: _.identity, diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js index ca4cb2a7feee1..7320c0df00c90 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js index 7506784099d12..14c6d1bc9a464 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js index 1482118587dc7..273a06764ae18 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js index c7f4b473ef7cb..9b2318db2ddfa 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js index 6993016f84d02..1614f950e6414 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js index c8aefa5a62ba5..d3c2a32c6fc09 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js index 2deddb513e610..d35aae084dcac 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js index fea0e822f19c8..eda74650facbe 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js index 1a19c8c108323..563c291b2f954 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js index 37d4d90be6c83..4635b24e09cd2 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js index 63ef1df5d259e..61368ca4edbab 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js index 94caddafc3185..a5b2082f78771 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js index a2720ee1321ba..eeb9127752359 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js index 501418d6f5bdf..9bc6b398bb0eb 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js index 21885f87e4912..871fbfd202694 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js index 460ade3cd9308..8c8dcca06a677 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export default { xAxisOrderedValues: ['_all'], diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js index 721391699e4f3..2ed9180476fe1 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { flattenSeries } from './flatten_series'; /* diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js index 87477332f76e5..877685af5d3b5 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; /* * Accepts a Kibana data object with a rows or columns key diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js index c3ed1bd0840c5..494e59472064c 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { dataArray as createArr } from './data_array'; import { uniqLabels as getArrOfUniqLabels } from './uniq_labels'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js index 5e78637ef0c02..16b248de697e5 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { labels } from './labels'; import { dataArray } from './data_array'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js index 489cb81306b3d..f1eb45c5fba53 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; /* * Accepts an array of data objects and a formatter function. diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx index a2fe4d9249bd0..f8abdd17409d4 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx @@ -18,7 +18,7 @@ */ import React, { BaseSyntheticEvent, KeyboardEvent, PureComponent } from 'react'; import classNames from 'classnames'; -import { compact, uniq, map, every, isUndefined } from 'lodash'; +import { compact, uniq, map, every, isUndefined } from 'lodash3'; import { i18n } from '@kbn/i18n'; import { EuiPopoverProps, EuiIcon, keyCodes, htmlIdGenerator } from '@elastic/eui'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts b/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts index 6b507862fb841..a5968913f7b77 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; /** * Returns an array of names ordered by appearance in the nested array diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js index d2cf81a1410c6..bf29491e840e5 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js @@ -18,7 +18,7 @@ */ import React from 'react'; -import _ from 'lodash'; +import _ from 'lodash3'; import numeral from '@elastic/numeral'; import { renderToStaticMarkup } from 'react-dom/server'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js index c01e32abb8dcb..7306bf66d09d6 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { pointSeriesTooltipFormatter } from './_pointseries_tooltip_formatter'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js index e22105d5a086f..7d35a4a0f008d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; const OFFSET = 10; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js index 85954aa9393e3..443c687203204 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash3'; import sinon from 'sinon'; import { positionTooltip } from './position_tooltip'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js index 0bfcedc5e6055..9837915bd520e 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { Binder } from '../../lib/binder'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js index 3269f54a621d0..c205682d5a30a 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; /* * Accepts a Kibana data object, flattens the data.series values array, diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js index e9f75e64c1d3d..23c2a24cef2c1 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import moment from 'moment'; import { getUniqKeys } from './uniq_keys'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js index 8854fb13e4e90..c8d2e1aa58918 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js @@ -17,7 +17,7 @@ * under the License. */ -import { isObject, isNumber } from 'lodash'; +import { isObject, isNumber } from 'lodash3'; import { flattenData } from './flatten_data'; /* diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js index 90c8f6ca052fb..7807e512978ee 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; /* * Accepts an array of zero-filled y value objects (arr1) diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js index 23096b164b452..f3ac04cd589d9 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { injectZeros } from './inject_zeros'; import { orderXValues } from './ordered_x_keys'; import { getUniqKeys } from './uniq_keys'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts index 3bc8fa0f035b6..bbd4b185b3744 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts @@ -17,7 +17,7 @@ * under the License. */ -import { toArray } from 'lodash'; +import { toArray } from 'lodash3'; import { SerializedFieldFormat } from '../../../../../expressions/common/types'; import { getFormatService } from '../../../services'; import { Table } from '../../types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts index c5fb4761eb9ee..d3ee0274c519a 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts @@ -17,7 +17,7 @@ * under the License. */ -import { partial } from 'lodash'; +import { partial } from 'lodash3'; import { getPoint } from './_get_point'; import { addToSiri, Serie } from './_add_to_siri'; import { Chart } from './point_series'; @@ -71,7 +71,7 @@ export function getSeries(table: Table, chart: Chart) { seriesLabel = prefix + seriesLabel; } - point.seriesId = seriesId; + (point.seriesId as any) = seriesId; addToSiri( seriesMap, point, diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts index 32536960c59cd..d58a3704ef7a2 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash'; +import { uniq } from 'lodash3'; import moment from 'moment'; import { Chart } from './point_series'; import { Table } from '../../types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts index fa22ae570f38d..371e2622c827b 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { initYAxis } from './_init_y_axis'; import { Chart } from './point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts index b2e4d6e4b40c9..d70f0bac8191e 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import _ from 'lodash'; +import _ from 'lodash3'; import { orderedDateAxis } from './_ordered_date_axis'; import { DateHistogramParams, OrderedChart } from './point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts index 2a5ab197c9ab7..7f320fa86912b 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { buildPointSeriesData, Dimensions } from './point_series'; import { Table, Column } from '../../types'; import { setFormatService } from '../../../services'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js b/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js index 1d1f912c64cba..f616c25aee4c3 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { ContainerTooSmall } from '../errors'; /** diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js b/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js index b0d5e758c7d42..1b14f3f17bc8c 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash3'; /** * Adds alerts that float in front of a visualization diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js index cbd42d281b286..49342b0c6fd61 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { ErrorHandler } from '../_error_handler'; import { AxisTitle } from './axis_title'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js index 320d9b541de2a..8cb00583c46d2 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { Axis } from './axis'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js index faf270877217b..8bbb9438a0640 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import d3 from 'd3'; import { SCALE_MODES } from './scale_modes'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js index a24ba908e177f..e7affb349bea0 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import moment from 'moment'; import { InvalidLogScaleValues } from '../../errors'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js index c43f66d0ac34d..3106cc0e0e334 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { AxisTitle } from './axis_title'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js index 3127bcf17ed07..032995a0323af 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { Axis } from './axis'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js index 4d237669ff849..94b6a1d5b5ffa 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import d3 from 'd3'; import $ from 'jquery'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js b/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js index aac019a98e790..7b9acecc7d390 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; const defaults = { style: { diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js b/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js index a281cea38bada..f1aa4c46973da 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import { ErrorHandler } from './_error_handler'; import { Tooltip } from '../components/tooltip'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/data.js b/src/plugins/vis_type_vislib/public/vislib/lib/data.js index 98d384f95a839..e735e22d3ff7c 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/data.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/data.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import { injectZeros } from '../components/zero_injection/inject_zeros'; import { orderXValues } from '../components/zero_injection/ordered_x_keys'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js index 82bb472f1696d..a990f728805d9 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { Data } from './data'; import { getMockUiState } from '../../fixtures/mocks'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js b/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js index 37f395aab4011..7f6609f942a9d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import { get, pull, restParam, size, reduce } from 'lodash'; +import { get, pull, restParam, size, reduce } from 'lodash3'; import $ from 'jquery'; import { DIMMING_OPACITY_SETTING } from '../../../common'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/handler.js b/src/plugins/vis_type_vislib/public/vislib/lib/handler.js index 3c1aeaa0d1d0d..cf049fcb0c438 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/handler.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/handler.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import MarkdownIt from 'markdown-it'; import { NoResults } from '../errors'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js index a5f4907f46273..5a98f7b8fed7f 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { layoutTypes } from './layout_types'; import { Axis } from '../axis'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js index 8b727ea3aa5fe..49eb0cac943ed 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { layoutTypes as layoutType } from './layout_types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js index f6ee5d13badf2..3a5f0705516e3 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import { layoutTypes } from '../layout_types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js b/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js index af500c7185a3a..c6f2f87676c5b 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; export function vislibPieConfig(config) { if (!config.chart) { diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js b/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js index 438c071d74532..dcfb766821083 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { i18n } from '@kbn/i18n'; function getSeriId(seri) { diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js b/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js index 0354724703208..248f68b78cac1 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js @@ -20,7 +20,7 @@ /** * Provides vislib configuration, throws error if invalid property is accessed without providing defaults */ -import _ from 'lodash'; +import _ from 'lodash3'; import { vislibTypesConfig as visTypes } from './types'; import { Data } from './data'; diff --git a/src/plugins/vis_type_vislib/public/vislib/vis.js b/src/plugins/vis_type_vislib/public/vislib/vis.js index f258cb55ba281..a701c6faa5240 100644 --- a/src/plugins/vis_type_vislib/public/vislib/vis.js +++ b/src/plugins/vis_type_vislib/public/vislib/vis.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import d3 from 'd3'; import { EventEmitter } from 'events'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js index 5ed6d3eb79f4b..bfa845e799655 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import { dataLabel } from '../lib/_data_label'; import { Dispatch } from '../lib/dispatch'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js index a252002534775..0ad7bbce15304 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import { getHeatmapColors } from '../../../../../charts/public'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js index 938d3d0ec6d74..aff44c9fdf2d3 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import numeral from '@elastic/numeral'; import { PieContainsAllZeros, ContainerTooSmall } from '../errors'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js index 9a25d041f6567..4a52912bdf8a8 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { Tooltip } from '../components/tooltip'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js index 1b084e4142445..482952c4d3b6c 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { euiPaletteColorBlind } from '@elastic/eui/lib/services'; const thresholdLineDefaults = { diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js index e3e2d31ecd4f4..90b1aef9627de 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import $ from 'jquery'; import { PointSeries } from './_point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js index cc64e0d746fbf..3ab838974121e 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import d3 from 'd3'; import { isColorDark } from '@elastic/eui/lib/services'; import { PointSeries } from './_point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js index 4564721464767..385dfd3d6b9f5 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import moment from 'moment'; import { isColorDark } from '@elastic/eui'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js index 64fbae7d1ac8c..0bb7d5241ce35 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash'; +import _ from 'lodash3'; import { PointSeries } from './_point_series'; const defaults = { diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js index a6f2404169f62..165507e809967 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash3'; import { visTypes } from './vis_types'; diff --git a/src/plugins/visualizations/public/components/visualization.tsx b/src/plugins/visualizations/public/components/visualization.tsx index c17e088d7635b..b88597c084a9c 100644 --- a/src/plugins/visualizations/public/components/visualization.tsx +++ b/src/plugins/visualizations/public/components/visualization.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import React from 'react'; import { PersistedState } from '../../../../plugins/visualizations/public'; import { memoizeLast } from '../legacy/memoize'; diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts b/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts index 26fdd665192a6..4a3832d0b9fa0 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { get } from 'lodash'; +import _, { get } from 'lodash4'; import { Subscription } from 'rxjs'; import * as Rx from 'rxjs'; import { VISUALIZE_EMBEDDABLE_TYPE } from './constants'; diff --git a/src/plugins/visualizations/public/expressions/vis.ts b/src/plugins/visualizations/public/expressions/vis.ts index eafa112156716..d967e40e97fd4 100644 --- a/src/plugins/visualizations/public/expressions/vis.ts +++ b/src/plugins/visualizations/public/expressions/vis.ts @@ -28,7 +28,7 @@ */ import { EventEmitter } from 'events'; -import _ from 'lodash'; +import _ from 'lodash4'; import { VisParams, PersistedState } from '../../../../plugins/visualizations/public'; import { getTypes } from '../services'; diff --git a/src/plugins/visualizations/public/expressions/visualization_function.ts b/src/plugins/visualizations/public/expressions/visualization_function.ts index 222479158934b..c29815517ee98 100644 --- a/src/plugins/visualizations/public/expressions/visualization_function.ts +++ b/src/plugins/visualizations/public/expressions/visualization_function.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { VisResponseValue, PersistedState } from '../../../../plugins/visualizations/public'; import { ExpressionFunctionDefinition, Render } from '../../../../plugins/expressions/public'; diff --git a/src/plugins/visualizations/public/legacy/build_pipeline.ts b/src/plugins/visualizations/public/legacy/build_pipeline.ts index 5d74cb3d3b1e5..ab51f5fca4e49 100644 --- a/src/plugins/visualizations/public/legacy/build_pipeline.ts +++ b/src/plugins/visualizations/public/legacy/build_pipeline.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash'; +import { get } from 'lodash4'; import moment from 'moment'; import { SerializedFieldFormat } from '../../../../plugins/expressions/public'; import { diff --git a/src/plugins/visualizations/public/legacy/vis_update_state.js b/src/plugins/visualizations/public/legacy/vis_update_state.js index edaf388e21060..359285f885764 100644 --- a/src/plugins/visualizations/public/legacy/vis_update_state.js +++ b/src/plugins/visualizations/public/legacy/vis_update_state.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; /** * Will figure out if an heatmap state was saved before the auto coloring diff --git a/src/plugins/visualizations/public/legacy/vis_update_state.test.js b/src/plugins/visualizations/public/legacy/vis_update_state.test.js index 7ddf0cc6e33e1..9dc934e4f524b 100644 --- a/src/plugins/visualizations/public/legacy/vis_update_state.test.js +++ b/src/plugins/visualizations/public/legacy/vis_update_state.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { updateOldState } from './vis_update_state'; // eslint-disable-next-line camelcase diff --git a/src/plugins/visualizations/public/persisted_state/persisted_state.ts b/src/plugins/visualizations/public/persisted_state/persisted_state.ts index 7465f969f456f..eb77d93293cd7 100644 --- a/src/plugins/visualizations/public/persisted_state/persisted_state.ts +++ b/src/plugins/visualizations/public/persisted_state/persisted_state.ts @@ -19,8 +19,17 @@ import { EventEmitter } from 'events'; -import { isPlainObject, cloneDeep, get, set, isEqual, isString, merge } from 'lodash'; -import toPath from 'lodash/internal/toPath'; +import { + isPlainObject, + cloneDeep, + get, + set, + isEqual, + isString, + merge, + mergeWith, + toPath, +} from 'lodash4'; function prepSetParams(key: PersistedStateKey, value: any, path: PersistedStatePath) { // key must be the value, set the entire state using it @@ -150,7 +159,7 @@ export class PersistedState extends EventEmitter { while (partialPath.length > 0) { const lastKey = partialPath.splice(partialPath.length - 1, 1)[0]; const statePath = [...this._path, partialPath]; - const stateVal = statePath.length > 0 ? get(stateTree, statePath) : stateTree; + const stateVal = statePath.length > 0 ? get(stateTree, statePath as string[]) : stateTree; // if stateVal isn't an object, do nothing if (!isPlainObject(stateVal)) return; @@ -240,7 +249,7 @@ export class PersistedState extends EventEmitter { // If `mergeMethod` is provided it is invoked to produce the merged values of the // destination and source properties. // If `mergeMethod` returns `undefined` the default merging method is used - this._mergedState = merge(targetObj, sourceObj, mergeMethod); + this._mergedState = mergeWith(targetObj, sourceObj, mergeMethod); // sanity check; verify that there are actually changes if (isEqual(this._mergedState, this._defaultState)) this._changedState = {}; diff --git a/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts b/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts index 0c27c3a2c7782..d661c3e750017 100644 --- a/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts +++ b/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { SavedObjectAttributes, SavedObjectsClientContract } from '../../../../core/public'; import { SavedObjectLoader } from '../../../../plugins/saved_objects/public'; import { VisTypeAlias } from '../vis_types'; @@ -49,7 +49,7 @@ export async function findListItems({ }, acc); }, {} as { [visType: string]: VisualizationsAppExtension }); const searchOption = (field: string, ...defaults: string[]) => - _(extensions).pluck(field).concat(defaults).compact().flatten().uniq().value() as string[]; + _(extensions).map(field).concat(defaults).compact().flatten().uniq().value() as string[]; const searchOptions = { type: searchOption('docTypes', 'visualization'), searchFields: searchOption('searchFields', 'title^3', 'description'), diff --git a/src/plugins/visualizations/public/vis.ts b/src/plugins/visualizations/public/vis.ts index aaab0566af65e..b87f2dc060bb9 100644 --- a/src/plugins/visualizations/public/vis.ts +++ b/src/plugins/visualizations/public/vis.ts @@ -27,7 +27,7 @@ * Not to be confused with vislib/vis.js. */ -import { isFunction, defaults, cloneDeep } from 'lodash'; +import { isFunction, defaults, cloneDeep } from 'lodash4'; import { Assign } from '@kbn/utility-types'; import { PersistedState } from './persisted_state'; import { getTypes, getAggs, getSearch, getSavedSearchLoader } from './services'; diff --git a/src/plugins/visualizations/public/vis_types/base_vis_type.ts b/src/plugins/visualizations/public/vis_types/base_vis_type.ts index 2464bb72d2695..aac0740369ef5 100644 --- a/src/plugins/visualizations/public/vis_types/base_vis_type.ts +++ b/src/plugins/visualizations/public/vis_types/base_vis_type.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import { VisualizationControllerConstructor } from '../types'; export interface BaseVisTypeOptions { diff --git a/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts b/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts index 134106bb3d42a..a47d1ff991356 100644 --- a/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts +++ b/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeep } from 'lodash4'; import { ReactVisType } from './react_vis_type'; describe('React Vis Type', () => { diff --git a/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx b/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx index 47757593958d6..4a4005718c0fd 100644 --- a/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx +++ b/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash4'; import React, { ChangeEvent } from 'react'; import { @@ -201,7 +201,7 @@ class TypeSelection extends React.Component { diff --git a/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts b/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts index 27fe722019a27..74d8cb1a40d55 100644 --- a/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts +++ b/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts @@ -18,7 +18,7 @@ */ import { SavedObjectMigrationFn } from 'kibana/server'; -import { cloneDeep, get, omit, has, flow } from 'lodash'; +import { cloneDeep, get, omit, has, flow } from 'lodash4'; import { DEFAULT_QUERY_LANGUAGE } from '../../../data/common'; const migrateIndexPattern: SavedObjectMigrationFn = (doc) => { @@ -65,7 +65,7 @@ const migrateIndexPattern: SavedObjectMigrationFn = (doc) => { // [TSVB] Migrate percentile-rank aggregation (value -> values) const migratePercentileRankAggregation: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); let visState; if (visStateJSON) { @@ -101,7 +101,7 @@ const migratePercentileRankAggregation: SavedObjectMigrationFn = (doc) // [TSVB] Remove stale opperator key const migrateOperatorKeyTypo: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); let visState; if (visStateJSON) { @@ -137,7 +137,7 @@ const migrateOperatorKeyTypo: SavedObjectMigrationFn = (doc) => { * @see https://github.com/elastic/kibana/pull/58462/files#diff-ae69fe15b20a5099d038e9bbe2ed3849 **/ const migrateSplitByChartRow: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); let visState: any; if (visStateJSON) { @@ -177,7 +177,7 @@ const migrateSplitByChartRow: SavedObjectMigrationFn = (doc) => { // Migrate date histogram aggregation (remove customInterval) const migrateDateHistogramAggregation: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); let visState; if (visStateJSON) { @@ -219,7 +219,7 @@ const migrateDateHistogramAggregation: SavedObjectMigrationFn = (doc) }; const removeDateHistogramTimeZones: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { let visState; try { @@ -251,7 +251,7 @@ const removeDateHistogramTimeZones: SavedObjectMigrationFn = (doc) => // migrate gauge verticalSplit to alignment // https://github.com/elastic/kibana/issues/34636 const migrateGaugeVerticalSplitToAlignment: SavedObjectMigrationFn = (doc, logger) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { try { @@ -289,7 +289,7 @@ const transformFilterStringToQueryObject: SavedObjectMigrationFn = (do // Migrate filters // If any filters exist and they are a string, we assume it to be lucene and transform the filter into an object accordingly const newDoc = cloneDeep(doc); - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { let visState; try { @@ -298,7 +298,7 @@ const transformFilterStringToQueryObject: SavedObjectMigrationFn = (do // let it go, the data is invalid and we'll leave it as is } if (visState) { - const visType = get(visState, 'params.type'); + const visType = get(visState, 'params.type'); const tsvbTypes = ['metric', 'markdown', 'top_n', 'gauge', 'table', 'timeseries']; if (tsvbTypes.indexOf(visType) === -1) { // skip @@ -373,7 +373,7 @@ const transformSplitFiltersStringToQueryObject: SavedObjectMigrationFn // Migrate split_filters in TSVB objects that weren't migrated in 7.3 // If any filters exist and they are a string, we assume them to be lucene syntax and transform the filter into an object accordingly const newDoc = cloneDeep(doc); - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { let visState; try { @@ -382,7 +382,7 @@ const transformSplitFiltersStringToQueryObject: SavedObjectMigrationFn // let it go, the data is invalid and we'll leave it as is } if (visState) { - const visType = get(visState, 'params.type'); + const visType = get(visState, 'params.type'); const tsvbTypes = ['metric', 'markdown', 'top_n', 'gauge', 'table', 'timeseries']; if (tsvbTypes.indexOf(visType) === -1) { // skip @@ -415,7 +415,7 @@ const transformSplitFiltersStringToQueryObject: SavedObjectMigrationFn }; const migrateFiltersAggQuery: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { try { @@ -447,7 +447,7 @@ const migrateFiltersAggQuery: SavedObjectMigrationFn = (doc) => { }; const replaceMovAvgToMovFn: SavedObjectMigrationFn = (doc, logger) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); let visState; if (visStateJSON) { @@ -495,7 +495,7 @@ const replaceMovAvgToMovFn: SavedObjectMigrationFn = (doc, logger) => }; const migrateFiltersAggQueryStringQueries: SavedObjectMigrationFn = (doc, logger) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { try { @@ -533,7 +533,7 @@ const addDocReferences: SavedObjectMigrationFn = (doc) => ({ }); const migrateSavedSearch: SavedObjectMigrationFn = (doc) => { - const savedSearchId = get(doc, 'attributes.savedSearchId'); + const savedSearchId = get(doc, 'attributes.savedSearchId'); if (savedSearchId && doc.references) { doc.references.push({ @@ -550,7 +550,7 @@ const migrateSavedSearch: SavedObjectMigrationFn = (doc) => { }; const migrateControls: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); if (visStateJSON) { let visState; @@ -617,7 +617,7 @@ const migrateTableSplits: SavedObjectMigrationFn = (doc) => { }; const migrateMatchAllQuery: SavedObjectMigrationFn = (doc) => { - const searchSourceJSON = get(doc, 'attributes.kibanaSavedObjectMeta.searchSourceJSON'); + const searchSourceJSON = get(doc, 'attributes.kibanaSavedObjectMeta.searchSourceJSON'); if (searchSourceJSON) { let searchSource: any; @@ -651,7 +651,7 @@ const migrateMatchAllQuery: SavedObjectMigrationFn = (doc) => { // [TSVB] Default color palette is changing, keep the default for older viz const migrateTsvbDefaultColorPalettes: SavedObjectMigrationFn = (doc) => { - const visStateJSON = get(doc, 'attributes.visState'); + const visStateJSON = get(doc, 'attributes.visState'); let visState; if (visStateJSON) { @@ -693,30 +693,24 @@ export const visualizationSavedObjectTypeMigrations = { * in that version. So we apply this twice, once with 6.7.2 and once with 7.0.1 while the backport to 6.7 * only contained the 6.7.2 migration and not the 7.0.1 migration. */ - '6.7.2': flow>( - migrateMatchAllQuery, - removeDateHistogramTimeZones - ), - '7.0.0': flow>( + '6.7.2': flow(migrateMatchAllQuery, removeDateHistogramTimeZones), + '7.0.0': flow( addDocReferences, migrateIndexPattern, migrateSavedSearch, migrateControls, migrateTableSplits ), - '7.0.1': flow>(removeDateHistogramTimeZones), - '7.2.0': flow>( - migratePercentileRankAggregation, - migrateDateHistogramAggregation - ), - '7.3.0': flow>( + '7.0.1': flow(removeDateHistogramTimeZones), + '7.2.0': flow(migratePercentileRankAggregation, migrateDateHistogramAggregation), + '7.3.0': flow( migrateGaugeVerticalSplitToAlignment, transformFilterStringToQueryObject, migrateFiltersAggQuery, replaceMovAvgToMovFn ), - '7.3.1': flow>(migrateFiltersAggQueryStringQueries), - '7.4.2': flow>(transformSplitFiltersStringToQueryObject), - '7.7.0': flow>(migrateOperatorKeyTypo, migrateSplitByChartRow), - '7.8.0': flow>(migrateTsvbDefaultColorPalettes), + '7.3.1': flow(migrateFiltersAggQueryStringQueries), + '7.4.2': flow(transformSplitFiltersStringToQueryObject), + '7.7.0': flow(migrateOperatorKeyTypo, migrateSplitByChartRow), + '7.8.0': flow(migrateTsvbDefaultColorPalettes), }; diff --git a/src/plugins/visualize/public/application/editor/editor.js b/src/plugins/visualize/public/application/editor/editor.js index 0e341ebf46e3a..30a46010db9e7 100644 --- a/src/plugins/visualize/public/application/editor/editor.js +++ b/src/plugins/visualize/public/application/editor/editor.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; -import _ from 'lodash'; +import _ from 'lodash4'; import { Subscription } from 'rxjs'; import { map } from 'rxjs/operators'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts b/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts index 7e09aece52e09..7d721390105e8 100644 --- a/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts +++ b/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, omit } from 'lodash'; +import { get, omit } from 'lodash4'; import { VisualizeAppState } from '../../types'; /** @@ -36,7 +36,7 @@ export function migrateAppState(appState: VisualizeAppState) { return appState; } - const visAggs: any = get(appState, 'vis.aggs'); + const visAggs: any = get(appState, 'vis.aggs'); if (visAggs) { let splitCount = 0; diff --git a/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts b/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts index 698fe0ca8a84f..c96b5e73c5a12 100644 --- a/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts +++ b/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isFunction, omit, union } from 'lodash'; +import { isFunction, omitBy, union } from 'lodash4'; import { migrateAppState } from './migrate_app_state'; import { @@ -35,9 +35,9 @@ interface Arguments { } function toObject(state: PureVisState): PureVisState { - return omit(state, (value, key: string) => { + return omitBy(state, (value, key: string) => { return key.charAt(0) === '$' || key.charAt(0) === '_' || isFunction(value); - }); + }) as PureVisState; } export function useVisualizeAppState({ stateDefaults, kbnUrlStateStorage }: Arguments) { diff --git a/src/plugins/visualize/public/application/legacy_app.js b/src/plugins/visualize/public/application/legacy_app.js index 42e8b07ee6310..624f639567bb6 100644 --- a/src/plugins/visualize/public/application/legacy_app.js +++ b/src/plugins/visualize/public/application/legacy_app.js @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash'; +import { find } from 'lodash4'; import { i18n } from '@kbn/i18n'; import { createHashHistory } from 'history'; diff --git a/src/test_utils/expect_deep_equal.js b/src/test_utils/expect_deep_equal.js index e3e24cbdf5dc9..ca076483ea1e9 100644 --- a/src/test_utils/expect_deep_equal.js +++ b/src/test_utils/expect_deep_equal.js @@ -17,7 +17,7 @@ * under the License. */ -import { isEqual } from 'lodash'; +import { isEqual } from 'lodash4'; import expect from '@kbn/expect'; // expect.js's `eql` method provides nice error messages but sometimes misses things diff --git a/src/test_utils/get_url.js b/src/test_utils/get_url.js index fbe16e798fff9..e4e0b37dade48 100644 --- a/src/test_utils/get_url.js +++ b/src/test_utils/get_url.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import url from 'url'; /** @@ -44,7 +44,7 @@ export default function getUrl(config, app) { } getUrl.noAuth = function getUrlNoAuth(config, app) { - config = _.pick(config, function (val, param) { + config = _.pickBy(config, function (val, param) { return param !== 'auth'; }); return getUrl(config, app); diff --git a/src/test_utils/kbn_server.ts b/src/test_utils/kbn_server.ts index 12f7eb5a0a043..23eadf0adcc2c 100644 --- a/src/test_utils/kbn_server.ts +++ b/src/test_utils/kbn_server.ts @@ -28,7 +28,7 @@ import { setupUsers, // @ts-ignore: implicit any for JS file } from '@kbn/test'; -import { defaultsDeep, get } from 'lodash'; +import { defaultsDeep, get } from 'lodash4'; import { resolve } from 'path'; import { BehaviorSubject } from 'rxjs'; import supertest from 'supertest'; @@ -217,7 +217,7 @@ export function createTestServers({ if (!adjustTimeout) { throw new Error('adjustTimeout is required in order to avoid flaky tests'); } - const license = get<'oss' | 'basic' | 'gold' | 'trial'>(settings, 'es.license', 'oss'); + const license = get(settings, 'es.license', 'oss'); const usersToBeAdded = get(settings, 'users', []); if (usersToBeAdded.length > 0) { if (license !== 'trial') { diff --git a/src/test_utils/public/simulate_keys.js b/src/test_utils/public/simulate_keys.js index 56596508a2181..158036e1a57c9 100644 --- a/src/test_utils/public/simulate_keys.js +++ b/src/test_utils/public/simulate_keys.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash'; +import _ from 'lodash4'; import Bluebird from 'bluebird'; import { keyMap } from 'ui/directives/key_map'; const reverseKeyMap = _.mapValues(_.invert(keyMap), _.ary(_.parseInt, 1)); diff --git a/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js b/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js index 45a09be6c2deb..b360b7c153ff7 100644 --- a/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js +++ b/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import { sortBy } from 'lodash'; +import { sortBy } from 'lodash4'; export default function ({ getService }) { const esArchiver = getService('esArchiver'); diff --git a/test/api_integration/apis/kql_telemetry/kql_telemetry.js b/test/api_integration/apis/kql_telemetry/kql_telemetry.js index a696cd148485f..151aff1e4ce1e 100644 --- a/test/api_integration/apis/kql_telemetry/kql_telemetry.js +++ b/test/api_integration/apis/kql_telemetry/kql_telemetry.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; import Bluebird from 'bluebird'; -import { get } from 'lodash'; +import { get } from 'lodash4'; export default function ({ getService }) { const supertest = getService('supertest'); diff --git a/test/api_integration/apis/saved_objects/bulk_update.js b/test/api_integration/apis/saved_objects/bulk_update.js index e3f994ff224e8..fe3dbbef49b1e 100644 --- a/test/api_integration/apis/saved_objects/bulk_update.js +++ b/test/api_integration/apis/saved_objects/bulk_update.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import _ from 'lodash'; +import _ from 'lodash4'; export default function ({ getService }) { const supertest = getService('supertest'); diff --git a/test/api_integration/apis/saved_objects/migrations.js b/test/api_integration/apis/saved_objects/migrations.js index d0ff4cc06c57e..0add2423f1a54 100644 --- a/test/api_integration/apis/saved_objects/migrations.js +++ b/test/api_integration/apis/saved_objects/migrations.js @@ -21,7 +21,7 @@ * Smokescreen tests for core migration logic */ -import _ from 'lodash'; +import _ from 'lodash4'; import { assert } from 'chai'; import { DocumentMigrator, @@ -293,7 +293,7 @@ export default ({ getService }) => { // It only created the original and the dest assert.deepEqual( - _.pluck( + _.map( await callCluster('cat.indices', { index: '.migration-c*', format: 'json' }), 'index' ).sort(), diff --git a/test/api_integration/apis/telemetry/telemetry_local.js b/test/api_integration/apis/telemetry/telemetry_local.js index 2875ff09a9a8d..9a2643ea0f0c6 100644 --- a/test/api_integration/apis/telemetry/telemetry_local.js +++ b/test/api_integration/apis/telemetry/telemetry_local.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import _ from 'lodash'; +import _ from 'lodash4'; /* * Create a single-level array with strings for all the paths to values in the diff --git a/test/functional/apps/management/_import_objects.js b/test/functional/apps/management/_import_objects.js index 6306d11eadb65..20229402140a5 100644 --- a/test/functional/apps/management/_import_objects.js +++ b/test/functional/apps/management/_import_objects.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; import path from 'path'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash4'; export default function ({ getService, getPageObjects }) { const kibanaServer = getService('kibanaServer'); @@ -50,15 +50,12 @@ export default function ({ getService, getPageObjects }) { await PageObjects.settings.clickImportDone(); // get all the elements in the table, and index them by the 'title' visible text field - const elements = indexBy( - await PageObjects.settings.getSavedObjectElementsInTable(), - 'title' - ); + const elements = keyBy(await PageObjects.settings.getSavedObjectElementsInTable(), 'title'); log.debug("check that 'Log Agents' is in table as a visualization"); expect(elements['Log Agents'].objectType).to.eql('visualization'); await elements['logstash-*'].relationshipsElement.click(); - const flyout = indexBy(await PageObjects.settings.getRelationshipFlyout(), 'title'); + const flyout = keyBy(await PageObjects.settings.getRelationshipFlyout(), 'title'); log.debug( "check that 'Shared-Item Visualization AreaChart' shows 'logstash-*' as it's Parent" ); @@ -153,10 +150,7 @@ export default function ({ getService, getPageObjects }) { }); it('should not import saved objects linked to saved searches when saved search index pattern does not exist', async function () { - const elements = indexBy( - await PageObjects.settings.getSavedObjectElementsInTable(), - 'title' - ); + const elements = keyBy(await PageObjects.settings.getSavedObjectElementsInTable(), 'title'); await elements['logstash-*'].checkbox.click(); await PageObjects.settings.clickSavedObjectsDelete(); @@ -188,10 +182,7 @@ export default function ({ getService, getPageObjects }) { it('should import saved objects with index patterns when index patterns does not exists', async () => { // First, we need to delete the index pattern - const elements = indexBy( - await PageObjects.settings.getSavedObjectElementsInTable(), - 'title' - ); + const elements = keyBy(await PageObjects.settings.getSavedObjectElementsInTable(), 'title'); await elements['logstash-*'].checkbox.click(); await PageObjects.settings.clickSavedObjectsDelete(); @@ -330,10 +321,7 @@ export default function ({ getService, getPageObjects }) { await PageObjects.settings.clickImportDone(); // Second, we need to delete the index pattern - const elements = indexBy( - await PageObjects.settings.getSavedObjectElementsInTable(), - 'title' - ); + const elements = keyBy(await PageObjects.settings.getSavedObjectElementsInTable(), 'title'); await elements['logstash-*'].checkbox.click(); await PageObjects.settings.clickSavedObjectsDelete(); @@ -365,10 +353,7 @@ export default function ({ getService, getPageObjects }) { it('should import saved objects with index patterns when index patterns does not exists', async () => { // First, we need to delete the index pattern - const elements = indexBy( - await PageObjects.settings.getSavedObjectElementsInTable(), - 'title' - ); + const elements = keyBy(await PageObjects.settings.getSavedObjectElementsInTable(), 'title'); await elements['logstash-*'].checkbox.click(); await PageObjects.settings.clickSavedObjectsDelete(); diff --git a/test/functional/apps/visualize/_chart_types.ts b/test/functional/apps/visualize/_chart_types.ts index 8aa8b9c32e967..b84fd8ccf31a5 100644 --- a/test/functional/apps/visualize/_chart_types.ts +++ b/test/functional/apps/visualize/_chart_types.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash'; +import _ from 'lodash4'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index fe5694efc35da..490e34abad563 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -19,7 +19,7 @@ import { delay } from 'bluebird'; import expect from '@kbn/expect'; -import { get } from 'lodash'; +import { get } from 'lodash4'; // @ts-ignore import fetch from 'node-fetch'; import { FtrProviderContext } from '../ftr_provider_context'; diff --git a/test/functional/services/common/browser.ts b/test/functional/services/common/browser.ts index 3f71c16bd3c44..eaec69585589f 100644 --- a/test/functional/services/common/browser.ts +++ b/test/functional/services/common/browser.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash'; +import { cloneDeepWith } from 'lodash4'; import { Key, Origin } from 'selenium-webdriver'; // @ts-ignore internal modules are not typed import { LegacyActionSequence } from 'selenium-webdriver/lib/actions'; @@ -471,7 +471,7 @@ export async function BrowserProvider({ getService }: FtrProviderContext) { ): Promise { return await driver.executeScript( fn, - ...cloneDeep(args, (arg) => { + ...cloneDeepWith(args, (arg) => { if (arg instanceof WebElementWrapper) { return arg._webElement; } @@ -485,7 +485,7 @@ export async function BrowserProvider({ getService }: FtrProviderContext) { ): Promise { return await driver.executeAsyncScript( fn, - ...cloneDeep(args, (arg) => { + ...cloneDeepWith(args, (arg) => { if (arg instanceof WebElementWrapper) { return arg._webElement; } diff --git a/test/tsconfig.json b/test/tsconfig.json index a270144bd49fe..87e79b295315f 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -14,7 +14,6 @@ "include": [ "**/*.ts", "**/*.tsx", - "../typings/lodash.topath/*.ts", "../typings/elastic__node_crypto.d.ts", "typings/**/*" ], diff --git a/test/visual_regression/services/visual_testing/visual_testing.ts b/test/visual_regression/services/visual_testing/visual_testing.ts index 3a71c3aa9d3d6..e35ef41420dd6 100644 --- a/test/visual_regression/services/visual_testing/visual_testing.ts +++ b/test/visual_regression/services/visual_testing/visual_testing.ts @@ -19,7 +19,6 @@ import { postSnapshot } from '@percy/agent/dist/utils/sdk-utils'; import { Test } from 'mocha'; -import _ from 'lodash'; import testSubjSelector from '@kbn/test-subj-selector'; diff --git a/typings/lodash.topath/index.d.ts b/typings/lodash.topath/index.d.ts deleted file mode 100644 index 3630a13f72c28..0000000000000 --- a/typings/lodash.topath/index.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -declare module 'lodash/internal/toPath' { - function toPath(value: string | string[]): string[]; - export = toPath; -} diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx index 86bc0900f1678..543e7f69972d5 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx @@ -19,8 +19,8 @@ jest.mock('@elastic/eui', () => ({ ), })); -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), +jest.mock('lodash4', () => ({ + ...jest.requireActual('lodash4'), debounce: (fn: any) => fn, })); diff --git a/yarn.lock b/yarn.lock index 26b7dc3a20cb5..efd1206d8968a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5194,33 +5194,44 @@ "@types/webpack" "*" "@types/lodash.clonedeep@^4.5.4": - version "4.5.4" - resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.4.tgz#2515c5f08bc95afebfb597711871b0497f5d7da7" - integrity sha512-+rCVPIZOJaub++wU/lmyp/SxiKlqXQaXI5LryzjuHBKFj51ApVt38Xxk9psLWNGMuR/obEQNTH0l/yDfG4ANNQ== + version "4.5.6" + resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz#3b6c40a0affe0799a2ce823b440a6cf33571d32b" + integrity sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA== dependencies: "@types/lodash" "*" "@types/lodash.clonedeepwith@^4.5.3": - version "4.5.3" - resolved "https://registry.yarnpkg.com/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.3.tgz#8057f074de743bdcff59fdbf26cd04c674a186cc" - integrity sha512-DNOO/Vec+yrzxxYwRXhVxTE4cOE1Xkf1xUzHhz3atoQ2URYKjvO5m9S7UxUcpn48rXkt9PxOT6cOyJCMIfjLNg== + version "4.5.6" + resolved "https://registry.yarnpkg.com/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.6.tgz#a5edd6c167b70396537ce6293dd8c0383d7b75e4" + integrity sha512-lroYwAgCFPkHyxi9548a+uQMelP60AaA74CBqfn9Li27+ukUZritx+JVYJ0W54PKBaBauXzTRHEvGzYrPsPZtQ== dependencies: "@types/lodash" "*" -"@types/lodash@*", "@types/lodash@^4.14.110", "@types/lodash@^4.14.116": - version "4.14.150" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" - integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== +"@types/lodash3@npm:@types/lodash@^3.10.1", "@types/lodash@^3.10.1": + name "@types/lodash3" + version "3.10.3" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" + integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== + +"@types/lodash4@npm:@types/lodash@^4.14.155", "@types/lodash@*": + version "4.14.156" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" + integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== "@types/lodash@4.14.149": version "4.14.149" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== -"@types/lodash@^3.10.1": - version "3.10.2" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.2.tgz#c1fbda1562ef5603c8192fe1fe65b017849d5873" - integrity sha512-TmlYodTNhMzVzv3CK/9sXGzh31jWsRKHE3faczhVgYFCdXIRQRCOPD+0NDlR+SvJlCj914yP3q3aAupt53p2Ug== +"@types/lodash@^4.14.110": + version "4.14.155" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.155.tgz#e2b4514f46a261fd11542e47519c20ebce7bc23a" + integrity sha512-vEcX7S7aPhsBCivxMwAANQburHBtfN9RdyXFk84IJmu2Z4Hkg1tOFgaslRiEqqvoLtbCBi6ika1EMspE+NZ9Lg== + +"@types/lodash@^4.14.116": + version "4.14.150" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" + integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== "@types/log-symbols@^2.0.0": version "2.0.0" @@ -20593,7 +20604,12 @@ lodash.uniqby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= -lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: +"lodash3@npm:@elastic/lodash@3.10.1-kibana4", "lodash@npm:@elastic/lodash@3.10.1-kibana4": + version "3.10.1-kibana4" + resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" + integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== + +"lodash4@npm:lodash@^4.17.15", lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -20603,11 +20619,6 @@ lodash@^3.10.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -"lodash@npm:@elastic/lodash@3.10.1-kibana4": - version "3.10.1-kibana4" - resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" - integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== - log-ok@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/log-ok/-/log-ok-0.1.1.tgz#bea3dd36acd0b8a7240d78736b5b97c65444a334" From 87a2a07ac7b70f8298237f8e3edf55cb2b08da02 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 23 Jun 2020 18:29:57 +0100 Subject: [PATCH 02/37] chore(NA): move x-pack and packages to lodash 4 --- package.json | 1 - packages/kbn-interpreter/package.json | 3 +- .../src/common/lib/registry.js | 2 +- packages/kbn-plugin-generator/index.js | 4 +- packages/kbn-plugin-generator/package.json | 5 +- .../kbn-plugin-generator/sao_template/sao.js | 4 +- packages/kbn-pm/package.json | 4 +- .../absolute_path_snapshot_serializer.ts | 2 +- packages/kbn-test/package.json | 2 + .../lib/config/config.ts | 9 +-- .../src/legacy_es/legacy_es_test_cluster.js | 3 +- .../src/page_load_metrics/navigation.ts | 1 - packages/kbn-ui-framework/Gruntfile.js | 2 +- packages/kbn-ui-framework/package.json | 2 +- renovate.json5 | 16 ++--- .../beats/elasticsearch_beats_adapter.ts | 16 +++-- .../adapters/beats/memory_beats_adapter.ts | 2 +- ...asticsearch_configuration_block_adapter.ts | 4 +- .../tags/elasticsearch_tags_adapter.ts | 8 +-- .../tokens/elasticsearch_tokens_adapter.ts | 4 +- .../server/lib/compose/testing.ts | 2 +- x-pack/package.json | 8 +-- .../server/builtin_action_types/case/utils.ts | 6 +- .../server/usage/actions_usage_collector.ts | 2 +- x-pack/plugins/alerts/server/alerts_client.ts | 4 +- .../task_runner/create_execution_handler.ts | 4 +- .../alerts/server/task_runner/task_runner.ts | 22 +++---- .../task_runner/transform_action_params.ts | 4 +- .../server/usage/alerts_usage_collector.ts | 2 +- .../util/merge_projection/index.ts | 4 +- .../ErrorGroupDetails/DetailView/index.tsx | 2 +- .../ServiceIntegrations/WatcherFlyout.tsx | 4 +- .../__test__/createErrorGroupWatch.test.ts | 2 +- .../app/TransactionDetails/index.tsx | 1 - .../components/shared/ManagedTable/index.tsx | 4 +- .../components/shared/Stacktrace/index.tsx | 2 +- .../shared/TransactionActionMenu/sections.ts | 6 +- .../context/LoadingIndicatorContext.tsx | 6 +- .../context/UrlParamsContext/helpers.ts | 4 +- .../apm/public/selectors/chartSelectors.ts | 3 +- .../scripts/upload-telemetry-data/index.ts | 4 +- .../get_service_map_from_trace_ids.ts | 33 +++++------ .../transform_service_map_responses.ts | 4 +- .../lib/transaction_groups/transform.ts | 4 +- .../lib/transactions/breakdown/index.ts | 10 ++-- .../charts/get_anomaly_data/transform.ts | 8 +-- .../lib/ui_filters/local_ui_filters/index.ts | 4 +- .../apm/server/routes/create_api/index.ts | 1 + x-pack/plugins/apm/server/routes/services.ts | 4 +- x-pack/plugins/apm/typings/lodash.mean.d.ts | 10 ---- .../public/components/enroll_beats.tsx | 8 +-- .../components/navigation/connected_link.tsx | 2 + .../components/table/table_type_configs.tsx | 6 +- .../adapters/beats/memory_beats_adapter.ts | 10 ++-- .../beats_management/public/lib/framework.ts | 2 +- .../canvas/.storybook/webpack.dll.config.js | 1 - .../canvas_plugin_src/functions/common/pie.ts | 4 +- .../functions/common/plot/get_tick_hash.ts | 12 ++-- .../functions/common/plot/index.ts | 4 +- .../common/plot/series_style_to_flot.ts | 12 ++-- .../functions/server/pointseries/index.ts | 4 +- .../time_filter/components/time_filter.tsx | 6 +- .../canvas_plugin_src/uis/views/plot.js | 4 +- .../canvas/common/lib/pivot_object_array.ts | 2 +- .../components/enhance/error_boundary.tsx | 8 +-- .../components/function_form/function_form.js | 1 - .../public/components/item_grid/item_grid.tsx | 4 +- .../public/components/workpad_config/index.ts | 8 +-- .../workpad_loader/workpad_loader.js | 4 +- .../workpad_templates/workpad_templates.js | 4 +- .../series_style/extended_template.tsx | 8 +-- .../canvas/public/functions/filters.ts | 4 +- x-pack/plugins/canvas/public/lib/keymap.ts | 4 +- .../plugins/canvas/public/lib/modify_path.js | 2 +- .../public/state/selectors/resolved_args.ts | 2 +- .../canvas/public/state/selectors/workpad.ts | 16 ++--- .../collectors/custom_element_collector.ts | 2 +- .../collectors/workpad_collector.test.ts | 6 +- .../server/collectors/workpad_collector.ts | 6 +- .../canvas/server/routes/workpad/update.ts | 5 +- .../plugins/dashboard_mode/public/plugin.ts | 4 +- .../providers/kql_query_suggestion/index.ts | 4 +- .../event_log/server/event_log_service.ts | 1 - .../server/event_log_start_service.ts | 1 - .../server/ui_capabilities_for_features.ts | 5 +- x-pack/plugins/graph/server/routes/explore.ts | 2 +- .../public/extend_index_management/index.js | 4 +- .../load_mappings_provider.test.tsx | 40 ++++++++----- .../index_actions_context_menu.js | 8 +-- .../components/expression_chart.tsx | 9 ++- .../lib/transform_metrics_explorer_data.ts | 4 +- .../public/pages/link_to/redirect_to_logs.tsx | 4 +- .../pages/link_to/redirect_to_node_logs.tsx | 4 +- .../components/waffle/legend_controls.tsx | 4 +- .../inventory_view/lib/color_from_value.ts | 18 +++--- .../inventory_view/lib/nodes_to_wafflemap.ts | 2 +- .../metric_detail/components/helpers.ts | 2 +- .../metrics_explorer/components/chart.tsx | 5 +- .../inventory_metric_threshold_executor.ts | 2 +- .../metric_threshold_executor.ts | 2 +- .../server/lib/snapshot/response_helpers.ts | 2 +- .../infra/server/routes/ip_to_hostname.ts | 2 +- .../infra/server/routes/metadata/index.ts | 2 +- .../server/utils/create_afterkey_handler.ts | 2 +- .../editor_frame_service/editor_frame/save.ts | 2 +- .../change_indexpattern.tsx | 1 - .../indexpattern_datasource/datapanel.tsx | 4 +- .../dimension_panel/bucket_nesting_editor.tsx | 1 - .../dimension_panel/popover_editor.tsx | 2 +- .../indexpattern_suggestions.ts | 14 ++--- .../indexpattern_datasource/layerpanel.tsx | 1 - .../public/indexpattern_datasource/loader.ts | 2 +- .../operations/operations.ts | 1 - .../indexpattern_datasource/state_helpers.ts | 2 +- .../indexpattern_datasource/to_expression.ts | 1 - .../public/indexpattern_datasource/utils.ts | 1 - .../xy_visualization/xy_config_panel.tsx | 1 - .../xy_visualization/xy_visualization.tsx | 2 +- .../pipeline_list_item/pipeline_list_item.js | 4 +- .../logstash/server/models/cluster/cluster.ts | 2 +- .../server/models/pipeline/pipeline.ts | 10 ++-- .../pipeline_list_item/pipeline_list_item.ts | 6 +- .../categorical_field_meta_popover.tsx | 1 - .../maps/public/classes/util/data_request.ts | 1 - .../server/maps_telemetry/maps_telemetry.ts | 12 ++-- .../explorer_charts_container_service.js | 2 +- .../public/application/util/string_utils.js | 2 +- .../models/data_visualizer/data_visualizer.ts | 10 ++-- .../monitoring/public/angular/app_modules.ts | 4 +- .../public/components/alerts/alerts.js | 4 +- .../public/components/alerts/map_severity.js | 4 +- .../shard_allocation/lib/decorate_shards.js | 4 +- .../monitoring/public/components/logs/logs.js | 6 +- .../public/lib/ajax_error_handler.tsx | 4 +- .../monitoring/public/lib/form_validation.ts | 4 +- .../monitoring/public/lib/route_init.js | 2 +- .../monitoring/public/lib/setup_mode.tsx | 4 +- .../monitoring/public/services/license.js | 4 +- .../monitoring/server/lib/apm/get_apm_info.js | 6 +- .../monitoring/server/lib/apm/get_apms.js | 6 +- .../server/lib/beats/_beats_stats.js | 4 +- .../server/lib/beats/get_beat_summary.js | 6 +- .../monitoring/server/lib/beats/get_beats.js | 6 +- .../server/lib/beats/get_latest_stats.js | 4 +- .../server/lib/elasticsearch/get_ml_jobs.js | 4 +- .../nodes/get_nodes/map_nodes_metrics.js | 10 ++-- .../nodes/get_nodes/sort_nodes.js | 4 +- .../server/lib/logstash/sort_pipelines.js | 4 +- .../lib/tasks/visualizations/task_runner.ts | 2 +- .../panel_actions/get_csv_panel_action.tsx | 1 + .../chromium/driver/chromium_driver.ts | 4 +- .../reporting/server/config/create_config.ts | 4 +- .../execute_job/omit_blacklisted_headers.ts | 4 +- .../csv/server/lib/flatten_hit.ts | 4 +- .../server/usage/get_reporting_usage.ts | 20 +++---- .../sections/job_create/job_create.js | 8 +-- .../sections/job_create/steps/step_metrics.js | 2 +- .../sections/job_create/steps_config/index.js | 6 +- .../job_create_clone.test.js | 2 +- .../job_create_date_histogram.test.js | 2 +- .../job_create_histogram.test.js | 2 +- .../job_create_logistics.test.js | 2 +- .../job_create_metrics.test.js | 2 +- .../job_create_review.test.js | 2 +- .../job_create_terms.test.js | 2 +- .../client_integration/job_list_clone.test.js | 2 +- .../rollup/server/collectors/register.ts | 8 +-- .../rollup_search_strategy.ts | 4 +- .../register_fields_for_wildcard_route.ts | 4 +- .../components/profile_tree/init_data.ts | 4 +- .../components/profile_tree/unsafe_utils.ts | 8 +-- .../feature_table/change_all_privileges.tsx | 4 +- .../kibana/feature_table/feature_table.tsx | 1 - .../privilege_display.tsx | 2 +- .../privilege_space_table.tsx | 1 - .../roles/model/kibana_privilege.ts | 2 +- .../change_password_form.tsx | 1 + .../register_privileges_with_cluster.ts | 4 +- x-pack/plugins/security_solution/package.json | 4 -- .../extract_tactics_techniques_mitre.js | 1 + .../restore_table/restore_table.tsx | 4 +- .../routes/api/external/copy_to_space.ts | 2 +- .../server/lib/get_template_version.ts | 8 +-- .../plugins/task_manager/server/task_pool.ts | 4 +- .../task_manager/server/task_runner.ts | 2 +- .../task_manager/server/task_store.test.ts | 4 +- .../plugins/task_manager/server/task_store.ts | 2 +- .../lib/check_action_type_enabled.tsx | 6 +- .../components/alert_details.tsx | 4 +- .../components/alert_instances.tsx | 4 +- .../public/common/index_controls/index.ts | 1 + .../components/tabs/checkup/constants.tsx | 4 +- .../actions_popover/integration_group.tsx | 8 +-- .../monitor_status_list.tsx | 8 +-- .../monitor_list_status_column.tsx | 6 +- .../framework/new_platform_adapter.tsx | 2 +- .../observability_integration/build_href.ts | 2 +- .../requests/search/enrich_monitor_groups.ts | 10 +--- .../threshold_watch_edit.tsx | 1 + .../models/execute_details/execute_details.js | 6 +- .../lib/get_watch_type/get_watch_type.js | 4 +- .../apis/metrics_ui/metrics.ts | 6 +- .../apis/metrics_ui/metrics_explorer.ts | 10 ++-- .../apis/metrics_ui/snapshot.ts | 26 ++++----- .../apis/security/privileges.ts | 4 +- .../apis/security/privileges_basic.ts | 4 +- .../trial/tests/annotations.ts | 2 +- .../apps/lens/persistent_context.ts | 1 - .../test/functional/apps/lens/smokescreen.ts | 1 - .../apps/security/doc_level_security_roles.js | 6 +- .../apps/security/field_level_security.js | 10 ++-- .../functional/apps/security/rbac_phase1.js | 6 +- .../apps/security/secure_roles_perm.js | 4 +- .../functional/apps/security/user_email.js | 4 +- x-pack/test/functional/apps/security/users.js | 12 ++-- .../functional/apps/watcher/watcher_test.js | 4 +- .../apps/triggers_actions_ui/details.ts | 2 +- .../task_manager_performance/package.json | 1 - .../task_manager_performance/server/plugin.ts | 4 +- x-pack/typings/index.d.ts | 5 -- yarn.lock | 58 +++---------------- 221 files changed, 513 insertions(+), 609 deletions(-) delete mode 100644 x-pack/plugins/apm/typings/lodash.mean.d.ts diff --git a/package.json b/package.json index 0b22f1c4b60c7..93160330364cb 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,6 @@ "**/@types/hoist-non-react-statics": "^3.3.1", "**/@types/chai": "^4.2.11", "**/typescript": "3.9.5", - "**/graphql-toolkit/lodash": "^4.17.13", "**/hoist-non-react-statics": "^3.3.2", "**/isomorphic-git/**/base64-js": "^1.2.1", "**/image-diff/gm/debug": "^2.6.9", diff --git a/packages/kbn-interpreter/package.json b/packages/kbn-interpreter/package.json index ea72a4a48caeb..c6bb06e68b9c0 100644 --- a/packages/kbn-interpreter/package.json +++ b/packages/kbn-interpreter/package.json @@ -11,8 +11,7 @@ "dependencies": { "@babel/runtime": "^7.10.2", "@kbn/i18n": "1.0.0", - "lodash": "npm:@elastic/lodash@3.10.1-kibana4", - "lodash.clone": "^4.5.0", + "lodash": "^4.17.15", "uuid": "3.3.2" }, "devDependencies": { diff --git a/packages/kbn-interpreter/src/common/lib/registry.js b/packages/kbn-interpreter/src/common/lib/registry.js index 25b122f400711..16572cf494cd3 100644 --- a/packages/kbn-interpreter/src/common/lib/registry.js +++ b/packages/kbn-interpreter/src/common/lib/registry.js @@ -17,7 +17,7 @@ * under the License. */ -import clone from 'lodash.clone'; +import { clone } from 'lodash'; export class Registry { constructor(prop = 'name') { diff --git a/packages/kbn-plugin-generator/index.js b/packages/kbn-plugin-generator/index.js index e61037e42d63f..398b49fa1ecd5 100644 --- a/packages/kbn-plugin-generator/index.js +++ b/packages/kbn-plugin-generator/index.js @@ -23,7 +23,7 @@ const dedent = require('dedent'); const sao = require('sao'); const chalk = require('chalk'); const getopts = require('getopts'); -const snakeCase = require('lodash.snakecase'); +const { snakeCase } = require('lodash'); exports.run = function run(argv) { const options = getopts(argv, { @@ -41,7 +41,7 @@ exports.run = function run(argv) { if (options.help) { console.log( dedent(chalk` - # {dim Usage:} + # {dim Usage:} node scripts/generate-plugin {bold [name]} Generate a fresh Kibana plugin in the plugins/ directory `) + '\n' diff --git a/packages/kbn-plugin-generator/package.json b/packages/kbn-plugin-generator/package.json index b9df67b32e5d3..5c1e98cd869de 100644 --- a/packages/kbn-plugin-generator/package.json +++ b/packages/kbn-plugin-generator/package.json @@ -8,10 +8,7 @@ "dedent": "^0.7.0", "execa": "^4.0.2", "getopts": "^2.2.4", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", + "lodash": "^4.17.15", "sao": "^0.22.12" } } diff --git a/packages/kbn-plugin-generator/sao_template/sao.js b/packages/kbn-plugin-generator/sao_template/sao.js index 7fc29b1e6bd0a..dc4d8a2fc10fb 100755 --- a/packages/kbn-plugin-generator/sao_template/sao.js +++ b/packages/kbn-plugin-generator/sao_template/sao.js @@ -20,9 +20,7 @@ const { relative, resolve } = require('path'); const fs = require('fs'); -const startCase = require('lodash.startcase'); -const camelCase = require('lodash.camelcase'); -const snakeCase = require('lodash.snakecase'); +const { camelCase, startCase, snakeCase } = require('lodash'); const chalk = require('chalk'); const execa = require('execa'); diff --git a/packages/kbn-pm/package.json b/packages/kbn-pm/package.json index d9ff0be55bde5..6b47ff100a634 100644 --- a/packages/kbn-pm/package.json +++ b/packages/kbn-pm/package.json @@ -22,7 +22,7 @@ "@types/glob": "^5.0.35", "@types/globby": "^6.1.0", "@types/has-ansi": "^3.0.0", - "@types/lodash.clonedeepwith": "^4.5.3", + "@types/lodash": "^4.14.155", "@types/log-symbols": "^2.0.0", "@types/ncp": "^2.0.1", "@types/node": ">=10.17.17 <10.20.0", @@ -46,7 +46,7 @@ "globby": "^8.0.1", "has-ansi": "^3.0.0", "is-path-inside": "^3.0.2", - "lodash.clonedeepwith": "^4.5.0", + "lodash": "^4.17.15", "log-symbols": "^2.2.0", "multimatch": "^4.0.0", "ncp": "^2.0.0", diff --git a/packages/kbn-pm/src/test_helpers/absolute_path_snapshot_serializer.ts b/packages/kbn-pm/src/test_helpers/absolute_path_snapshot_serializer.ts index 96ce6fd1d919a..cf4ecbb4ad42c 100644 --- a/packages/kbn-pm/src/test_helpers/absolute_path_snapshot_serializer.ts +++ b/packages/kbn-pm/src/test_helpers/absolute_path_snapshot_serializer.ts @@ -17,7 +17,7 @@ * under the License. */ -import cloneDeepWith from 'lodash.clonedeepwith'; +import { cloneDeepWith } from 'lodash'; import { resolve, sep as pathSep } from 'path'; const repoRoot = resolve(__dirname, '../../../../'); diff --git a/packages/kbn-test/package.json b/packages/kbn-test/package.json index c74dba8a34c9d..026930a5e82d9 100644 --- a/packages/kbn-test/package.json +++ b/packages/kbn-test/package.json @@ -13,6 +13,7 @@ "@babel/cli": "^7.10.1", "@kbn/babel-preset": "1.0.0", "@kbn/dev-utils": "1.0.0", + "@types/lodash": "^4.14.155", "@types/parse-link-header": "^1.0.0", "@types/puppeteer": "^3.0.0", "@types/strip-ansi": "^5.2.1", @@ -25,6 +26,7 @@ "del": "^5.1.0", "getopts": "^2.2.4", "glob": "^7.1.2", + "lodash": "^4.17.15", "parse-link-header": "^1.0.1", "puppeteer": "^3.3.0", "strip-ansi": "^5.2.0", diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/config.ts b/packages/kbn-test/src/functional_test_runner/lib/config/config.ts index e38520f00e45b..687a0e87d4c68 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/config.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/config.ts @@ -18,10 +18,7 @@ */ import { Schema } from 'joi'; -import { cloneDeep, get, has } from 'lodash'; - -// @ts-ignore internal lodash module is not typed -import toPath from 'lodash/internal/toPath'; +import { cloneDeepWith, get, has, toPath } from 'lodash'; import { schema } from './schema'; @@ -114,7 +111,7 @@ export class Config { throw new Error(`Unknown config key "${key}"`); } - return cloneDeep(get(this[$values], key, defaultValue), (v) => { + return cloneDeepWith(get(this[$values], key, defaultValue), (v) => { if (typeof v === 'function') { return v; } @@ -122,7 +119,7 @@ export class Config { } public getAll() { - return cloneDeep(this[$values], (v) => { + return cloneDeepWith(this[$values], (v) => { if (typeof v === 'function') { return v; } diff --git a/packages/kbn-test/src/legacy_es/legacy_es_test_cluster.js b/packages/kbn-test/src/legacy_es/legacy_es_test_cluster.js index f795b32d78b8e..2d4c461cc2c2e 100644 --- a/packages/kbn-test/src/legacy_es/legacy_es_test_cluster.js +++ b/packages/kbn-test/src/legacy_es/legacy_es_test_cluster.js @@ -19,8 +19,7 @@ import { resolve } from 'path'; import { format } from 'url'; -import { get } from 'lodash'; -import toPath from 'lodash/internal/toPath'; +import { get, toPath } from 'lodash'; import { Cluster } from '@kbn/es'; import { CI_PARALLEL_PROCESS_PREFIX } from '../ci_parallel_process_prefix'; import { esTestConfig } from './es_test_config'; diff --git a/packages/kbn-test/src/page_load_metrics/navigation.ts b/packages/kbn-test/src/page_load_metrics/navigation.ts index 21dc681951b21..db53df789ac69 100644 --- a/packages/kbn-test/src/page_load_metrics/navigation.ts +++ b/packages/kbn-test/src/page_load_metrics/navigation.ts @@ -19,7 +19,6 @@ import Fs from 'fs'; import Url from 'url'; -import _ from 'lodash'; import puppeteer from 'puppeteer'; import { resolve } from 'path'; import { ToolingLog } from '@kbn/dev-utils'; diff --git a/packages/kbn-ui-framework/Gruntfile.js b/packages/kbn-ui-framework/Gruntfile.js index 177fd1f153155..e5fe45a16ea62 100644 --- a/packages/kbn-ui-framework/Gruntfile.js +++ b/packages/kbn-ui-framework/Gruntfile.js @@ -21,7 +21,7 @@ const sass = require('node-sass'); const postcss = require('postcss'); const postcssConfig = require('../../src/optimize/postcss.config'); const chokidar = require('chokidar'); -const debounce = require('lodash/function/debounce'); +const debounce = require('lodash/debounce'); const platform = require('os').platform(); const isPlatformWindows = /^win/.test(platform); diff --git a/packages/kbn-ui-framework/package.json b/packages/kbn-ui-framework/package.json index 4da4fb21fbed5..abf64906e0253 100644 --- a/packages/kbn-ui-framework/package.json +++ b/packages/kbn-ui-framework/package.json @@ -17,7 +17,7 @@ "dependencies": { "classnames": "2.2.6", "focus-trap-react": "^3.1.1", - "lodash": "npm:@elastic/lodash@3.10.1-kibana4", + "lodash": "^4.17.15", "prop-types": "15.6.0", "react": "^16.12.0", "react-ace": "^5.9.0", diff --git a/renovate.json5 b/renovate.json5 index d77c2e787f6eb..08522ddb21eb2 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -550,19 +550,11 @@ ], }, { - groupSlug: 'lodash.clonedeep', - groupName: 'lodash.clonedeep related packages', - packageNames: [ - 'lodash.clonedeep', - '@types/lodash.clonedeep', - ], - }, - { - groupSlug: 'lodash.clonedeepwith', - groupName: 'lodash.clonedeepwith related packages', + groupSlug: 'lodash3', + groupName: 'lodash3 related packages', packageNames: [ - 'lodash.clonedeepwith', - '@types/lodash.clonedeepwith', + 'lodash3', + '@types/lodash3', ], }, { diff --git a/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/elasticsearch_beats_adapter.ts b/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/elasticsearch_beats_adapter.ts index 0600ed8e3fbf6..7c495ad605f6d 100644 --- a/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/elasticsearch_beats_adapter.ts +++ b/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/elasticsearch_beats_adapter.ts @@ -38,7 +38,7 @@ export class ElasticsearchBeatsAdapter implements CMBeatsAdapter { if (!response.found) { return null; } - const beat = _get(response, '_source.beat'); + const beat = _get(response, '_source.beat') as CMBeat; beat.tags = beat.tags || []; return beat; } @@ -101,7 +101,7 @@ export class ElasticsearchBeatsAdapter implements CMBeatsAdapter { const response = await this.database.search(user, params); - const beats = _get(response, 'hits.hits', []); + const beats = _get(response, 'hits.hits', []) as CMBeat[]; if (beats.length === 0) { return []; @@ -127,14 +127,12 @@ export class ElasticsearchBeatsAdapter implements CMBeatsAdapter { const response = await this.database.search(user, params); - const beats = _get(response, 'hits.hits', []); + const beats = _get(response, 'hits.hits', []) as CMBeat[]; if (beats.length === 0) { return null; } - return omit(_get(formatWithTags(beats[0]), '_source.beat'), [ - 'access_token', - ]); + return omit(_get(formatWithTags(beats[0]), '_source.beat'), ['access_token']) as CMBeat; } public async getAll(user: FrameworkUser, ESQuery?: any) { @@ -171,7 +169,7 @@ export class ElasticsearchBeatsAdapter implements CMBeatsAdapter { if (!response) { return []; } - const beats = _get(response, 'hits.hits', []); + const beats = _get(response, 'hits.hits', []) as any; return beats.map((beat: any) => formatWithTags(omit(beat._source.beat as CMBeat, ['access_token']) as CMBeat) @@ -202,7 +200,7 @@ export class ElasticsearchBeatsAdapter implements CMBeatsAdapter { index: INDEX_NAMES.BEATS, refresh: 'wait_for', }); - return _get(response, 'items', []).map((item: any, resultIdx: number) => ({ + return (_get(response, 'items', []) as any).map((item: any, resultIdx: number) => ({ idxInRequest: removals[resultIdx].idxInRequest, result: item.update.result, status: item.update.status, @@ -237,7 +235,7 @@ export class ElasticsearchBeatsAdapter implements CMBeatsAdapter { refresh: 'wait_for', }); // console.log(response.items[0].update.error); - return _get(response, 'items', []).map((item: any, resultIdx: any) => ({ + return (_get(response, 'items', []) as any).map((item: any, resultIdx: any) => ({ idxInRequest: assignments[resultIdx].idxInRequest, result: item.update.result, status: item.update.status, diff --git a/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/memory_beats_adapter.ts b/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/memory_beats_adapter.ts index afae87c490158..fb1633b545d64 100644 --- a/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/memory_beats_adapter.ts +++ b/x-pack/legacy/plugins/beats_management/server/lib/adapters/beats/memory_beats_adapter.ts @@ -50,7 +50,7 @@ export class MemoryBeatsAdapter implements CMBeatsAdapter { } public async getAll(user: FrameworkUser) { - return this.beatsDB.map((beat: any) => omit(beat, ['access_token'])); + return this.beatsDB.map((beat: any) => omit(beat, ['access_token'])) as CMBeat[]; } public async removeTagsFromBeats( diff --git a/x-pack/legacy/plugins/beats_management/server/lib/adapters/configuration_blocks/elasticsearch_configuration_block_adapter.ts b/x-pack/legacy/plugins/beats_management/server/lib/adapters/configuration_blocks/elasticsearch_configuration_block_adapter.ts index 2bc6f18756447..ec559c3ee479c 100644 --- a/x-pack/legacy/plugins/beats_management/server/lib/adapters/configuration_blocks/elasticsearch_configuration_block_adapter.ts +++ b/x-pack/legacy/plugins/beats_management/server/lib/adapters/configuration_blocks/elasticsearch_configuration_block_adapter.ts @@ -35,7 +35,7 @@ export class ElasticsearchConfigurationBlockAdapter implements ConfigurationBloc }; const response = await this.database.search(user, params); - const configs = get(response, 'hits.hits', []); + const configs = get(response, 'hits.hits', []); return configs.map((tag: any) => ({ ...tag._source.tag, config: JSON.parse(tag._source.tag) })); } @@ -71,7 +71,7 @@ export class ElasticsearchConfigurationBlockAdapter implements ConfigurationBloc } else { response = await this.database.search(user, params); } - const configs = get(response, 'hits.hits', []); + const configs = get(response, 'hits.hits', []); return { blocks: configs.map((block: any) => ({ diff --git a/x-pack/legacy/plugins/beats_management/server/lib/adapters/tags/elasticsearch_tags_adapter.ts b/x-pack/legacy/plugins/beats_management/server/lib/adapters/tags/elasticsearch_tags_adapter.ts index 4e032001809f2..b5be3cfa99e5d 100644 --- a/x-pack/legacy/plugins/beats_management/server/lib/adapters/tags/elasticsearch_tags_adapter.ts +++ b/x-pack/legacy/plugins/beats_management/server/lib/adapters/tags/elasticsearch_tags_adapter.ts @@ -43,7 +43,7 @@ export class ElasticsearchTagsAdapter implements CMTagsAdapter { }; } const response = await this.database.search(user, params); - const tags = get(response, 'hits.hits', []); + const tags = get(response, 'hits.hits', []) as any; return tags.map((tag: any) => ({ hasConfigurationBlocksTypes: [], ...tag._source.tag })); } @@ -63,7 +63,7 @@ export class ElasticsearchTagsAdapter implements CMTagsAdapter { const beatsResponse = await this.database.search(user, params); - const beats = get(beatsResponse, 'hits.hits', []).map( + const beats = (get(beatsResponse, 'hits.hits', []) as BeatTag[]).map( (beat: any) => beat._source.beat ); @@ -142,7 +142,7 @@ export class ElasticsearchTagsAdapter implements CMTagsAdapter { }; const response = await this.database.index(user, params); - return get(response, 'result'); + return get(response, 'result') as string; } public async getWithoutConfigTypes( @@ -172,7 +172,7 @@ export class ElasticsearchTagsAdapter implements CMTagsAdapter { size: 10000, }; const response = await this.database.search(user, params); - const tags = get(response, 'hits.hits', []); + const tags = get(response, 'hits.hits', []) as any; return tags.map((tag: any) => ({ hasConfigurationBlocksTypes: [], ...tag._source.tag })); } diff --git a/x-pack/legacy/plugins/beats_management/server/lib/adapters/tokens/elasticsearch_tokens_adapter.ts b/x-pack/legacy/plugins/beats_management/server/lib/adapters/tokens/elasticsearch_tokens_adapter.ts index 4987e4dbd4e0a..6c5125ea4e0eb 100644 --- a/x-pack/legacy/plugins/beats_management/server/lib/adapters/tokens/elasticsearch_tokens_adapter.ts +++ b/x-pack/legacy/plugins/beats_management/server/lib/adapters/tokens/elasticsearch_tokens_adapter.ts @@ -34,10 +34,10 @@ export class ElasticsearchTokensAdapter implements CMTokensAdapter { const response = await this.database.get(user, params); - const tokenDetails = get(response, '_source.enrollment_token', { + const tokenDetails = get(response, '_source.enrollment_token', { expires_on: '0', token: null, - }); + }) as TokenEnrollmentData; // Elasticsearch might return fast if the token is not found. OR it might return fast // if the token *is* found. Either way, an attacker could using a timing attack to figure diff --git a/x-pack/legacy/plugins/beats_management/server/lib/compose/testing.ts b/x-pack/legacy/plugins/beats_management/server/lib/compose/testing.ts index b5fe6195fc7c7..1964573b27d05 100644 --- a/x-pack/legacy/plugins/beats_management/server/lib/compose/testing.ts +++ b/x-pack/legacy/plugins/beats_management/server/lib/compose/testing.ts @@ -20,7 +20,7 @@ import { CMServerLibs } from '../types'; export function compose(server: any): CMServerLibs { const framework = new BackendFrameworkLib(new HapiBackendFrameworkAdapter(undefined, server)); - const beatsAdapter = new MemoryBeatsAdapter(server.beatsDB || []); + const beatsAdapter = new MemoryBeatsAdapter(server.beatsDB || []) as any; const configAdapter = new MemoryConfigurationBlockAdapter(server.configsDB || []); const tags = new CMTagsDomain( new MemoryTagsAdapter(server.tagsDB || []), diff --git a/x-pack/package.json b/x-pack/package.json index 2513a36f50014..6cc315a710010 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -80,7 +80,7 @@ "@types/jsdom": "^12.2.4", "@types/json-stable-stringify": "^1.0.32", "@types/jsonwebtoken": "^7.2.8", - "@types/lodash": "^3.10.1", + "@types/lodash": "^4.14.155", "@types/mapbox-gl": "^1.9.1", "@types/memoize-one": "^4.1.0", "@types/mime": "^2.0.1", @@ -275,11 +275,7 @@ "json-stable-stringify": "^1.0.1", "jsonwebtoken": "^8.5.1", "jsts": "^1.6.2", - "lodash": "npm:@elastic/lodash@3.10.1-kibana4", - "lodash.keyby": "^4.6.0", - "lodash.mean": "^4.1.0", - "lodash.topath": "^4.5.2", - "lodash.uniqby": "^4.7.0", + "lodash": "^4.17.15", "lz-string": "^1.4.4", "mapbox-gl": "^1.10.0", "mapbox-gl-draw-rectangle-mode": "^1.0.4", diff --git a/x-pack/plugins/actions/server/builtin_action_types/case/utils.ts b/x-pack/plugins/actions/server/builtin_action_types/case/utils.ts index dd8d971b7df44..2d81c2bf4e15f 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/case/utils.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/case/utils.ts @@ -26,7 +26,7 @@ import { ExecutorSubActionPushParams, } from './types'; -import { transformers, Transformer } from './transformers'; +import { transformers } from './transformers'; import { SUPPORTED_SOURCE_FIELDS } from './constants'; @@ -205,7 +205,7 @@ export const transformFields = ({ currentIncident, }: TransformFieldsArgs): Record => { return fields.reduce((prev, cur) => { - const transform = flow(...cur.pipes.map((p) => transformers[p])); + const transform = flow(...cur.pipes.map((p) => transformers[p])); return { ...prev, [cur.key]: transform({ @@ -228,7 +228,7 @@ export const transformFields = ({ export const transformComments = (comments: Comment[], pipes: string[]): Comment[] => { return comments.map((c) => ({ ...c, - comment: flow(...pipes.map((p) => transformers[p]))({ + comment: flow(...pipes.map((p) => transformers[p]))({ value: c.comment, date: c.updatedAt ?? c.createdAt, user: diff --git a/x-pack/plugins/actions/server/usage/actions_usage_collector.ts b/x-pack/plugins/actions/server/usage/actions_usage_collector.ts index e298b3ad9d00c..c3e0b913c0fcc 100644 --- a/x-pack/plugins/actions/server/usage/actions_usage_collector.ts +++ b/x-pack/plugins/actions/server/usage/actions_usage_collector.ts @@ -20,7 +20,7 @@ export function createActionsUsageCollector( try { const doc = await getLatestTaskState(await taskManager); // get the accumulated state from the recurring task - const state: ActionsUsage = get(doc, 'state'); + const state: ActionsUsage = get(doc, 'state') as ActionsUsage; return { ...state, diff --git a/x-pack/plugins/alerts/server/alerts_client.ts b/x-pack/plugins/alerts/server/alerts_client.ts index 6b091a5a4503b..e8e6f82f13882 100644 --- a/x-pack/plugins/alerts/server/alerts_client.ts +++ b/x-pack/plugins/alerts/server/alerts_client.ts @@ -5,7 +5,7 @@ */ import Boom from 'boom'; -import { omit, isEqual, pluck } from 'lodash'; +import { omit, isEqual, map } from 'lodash'; import { i18n } from '@kbn/i18n'; import { Logger, @@ -647,7 +647,7 @@ export class AlertsClient { private validateActions(alertType: AlertType, actions: NormalizedAlertAction[]): void { const { actionGroups: alertTypeActionGroups } = alertType; const usedAlertActionGroups = actions.map((action) => action.group); - const availableAlertTypeActionGroups = new Set(pluck(alertTypeActionGroups, 'id')); + const availableAlertTypeActionGroups = new Set(map(alertTypeActionGroups, 'id')); const invalidActionGroups = usedAlertActionGroups.filter( (group) => !availableAlertTypeActionGroups.has(group) ); diff --git a/x-pack/plugins/alerts/server/task_runner/create_execution_handler.ts b/x-pack/plugins/alerts/server/task_runner/create_execution_handler.ts index 3c58c6d9ba288..274ff0a108889 100644 --- a/x-pack/plugins/alerts/server/task_runner/create_execution_handler.ts +++ b/x-pack/plugins/alerts/server/task_runner/create_execution_handler.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { pluck } from 'lodash'; +import { map } from 'lodash'; import { AlertAction, State, Context, AlertType } from '../types'; import { Logger } from '../../../../../src/core/server'; import { transformActionParams } from './transform_action_params'; @@ -44,7 +44,7 @@ export function createExecutionHandler({ alertType, eventLogger, }: CreateExecutionHandlerOptions) { - const alertTypeActionGroups = new Set(pluck(alertType.actionGroups, 'id')); + const alertTypeActionGroups = new Set(map(alertType.actionGroups, 'id')); return async ({ actionGroup, context, state, alertInstanceId }: ExecutionHandlerOptions) => { if (!alertTypeActionGroups.has(actionGroup)) { logger.error(`Invalid action group "${actionGroup}" for alert "${alertType.id}".`); diff --git a/x-pack/plugins/alerts/server/task_runner/task_runner.ts b/x-pack/plugins/alerts/server/task_runner/task_runner.ts index be399893088e3..b495b91a0ca91 100644 --- a/x-pack/plugins/alerts/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerts/server/task_runner/task_runner.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { pick, mapValues, omit, without } from 'lodash'; +import { pickBy, mapValues, omit, without } from 'lodash'; import { Logger, SavedObject, KibanaRequest } from '../../../../../src/core/server'; import { TaskRunnerContext } from './task_runner_factory'; import { ConcreteTaskInstance } from '../../../task_manager/server'; @@ -23,7 +23,6 @@ import { } from '../types'; import { promiseResult, map, Resultable, asOk, asErr, resolveErr } from '../lib/result_type'; import { taskInstanceToAlertTaskInstance } from './alert_task_instance'; -import { AlertInstances } from '../alert_instance/alert_instance'; import { EVENT_LOG_ACTIONS } from '../plugin'; import { IEvent, IEventLogger, SAVED_OBJECT_REL_PRIMARY } from '../../../event_log/server'; import { isAlertSavedObjectNotFoundError } from '../lib/is_alert_not_found_error'; @@ -166,7 +165,7 @@ export class TaskRunner { const alertInstances = mapValues( alertRawInstances, - (rawAlertInstance) => new AlertInstance(rawAlertInstance) + (rawAlertInstance) => new AlertInstance(rawAlertInstance as any) ); const originalAlertInstanceIds = Object.keys(alertInstances); @@ -193,7 +192,7 @@ export class TaskRunner { alertId, services: { ...services, - alertInstanceFactory: createAlertInstanceFactory(alertInstances), + alertInstanceFactory: createAlertInstanceFactory(alertInstances as any), }, params, state: alertTypeState, @@ -224,9 +223,8 @@ export class TaskRunner { eventLogger.logEvent(event); // Cleanup alert instances that are no longer scheduling actions to avoid over populating the alertInstances object - const instancesWithScheduledActions = pick( - alertInstances, - (alertInstance: AlertInstance) => alertInstance.hasScheduledActions() + const instancesWithScheduledActions = pickBy(alertInstances, (alertInstance: AlertInstance) => + alertInstance.hasScheduledActions() ); const currentAlertInstanceIds = Object.keys(instancesWithScheduledActions); generateNewAndResolvedInstanceEvents({ @@ -239,10 +237,7 @@ export class TaskRunner { }); if (!muteAll) { - const enabledAlertInstances = omit( - instancesWithScheduledActions, - ...mutedInstanceIds - ); + const enabledAlertInstances = omit(instancesWithScheduledActions, ...mutedInstanceIds); await Promise.all( Object.entries(enabledAlertInstances) @@ -257,9 +252,8 @@ export class TaskRunner { return { alertTypeState: updatedAlertTypeState || undefined, - alertInstances: mapValues( - instancesWithScheduledActions, - (alertInstance) => alertInstance.toRaw() + alertInstances: mapValues(instancesWithScheduledActions, (alertInstance: any) => + alertInstance.toRaw() ), }; } diff --git a/x-pack/plugins/alerts/server/task_runner/transform_action_params.ts b/x-pack/plugins/alerts/server/task_runner/transform_action_params.ts index 64f846d13c0bf..fa4a0e40ddee5 100644 --- a/x-pack/plugins/alerts/server/task_runner/transform_action_params.ts +++ b/x-pack/plugins/alerts/server/task_runner/transform_action_params.ts @@ -5,7 +5,7 @@ */ import Mustache from 'mustache'; -import { isString, cloneDeep } from 'lodash'; +import { isString, cloneDeepWith } from 'lodash'; import { AlertActionParams, State, Context } from '../types'; interface TransformActionParamsOptions { @@ -29,7 +29,7 @@ export function transformActionParams({ actionParams, state, }: TransformActionParamsOptions): AlertActionParams { - const result = cloneDeep(actionParams, (value: unknown) => { + const result = cloneDeepWith(actionParams, (value: unknown) => { if (!isString(value)) return; // when the list of variables we pass in here changes, diff --git a/x-pack/plugins/alerts/server/usage/alerts_usage_collector.ts b/x-pack/plugins/alerts/server/usage/alerts_usage_collector.ts index d2cef0f717e94..f6554ddc1afd0 100644 --- a/x-pack/plugins/alerts/server/usage/alerts_usage_collector.ts +++ b/x-pack/plugins/alerts/server/usage/alerts_usage_collector.ts @@ -20,7 +20,7 @@ export function createAlertsUsageCollector( try { const doc = await getLatestTaskState(await taskManager); // get the accumulated state from the recurring task - const state: AlertsUsage = get(doc, 'state'); + const state: AlertsUsage = get(doc, 'state') as AlertsUsage; return { ...state, diff --git a/x-pack/plugins/apm/common/projections/util/merge_projection/index.ts b/x-pack/plugins/apm/common/projections/util/merge_projection/index.ts index f3ae0752b908e..9dc1c815bf169 100644 --- a/x-pack/plugins/apm/common/projections/util/merge_projection/index.ts +++ b/x-pack/plugins/apm/common/projections/util/merge_projection/index.ts @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { merge, isPlainObject, cloneDeep } from 'lodash'; +import { mergeWith, isPlainObject, cloneDeep } from 'lodash'; import { DeepPartial } from 'utility-types'; import { AggregationInputMap } from '../../../../typings/elasticsearch/aggregations'; import { @@ -35,7 +35,7 @@ export function mergeProjection< T extends Projection, U extends SourceProjection >(target: T, source: U): DeepMerge { - return merge({}, cloneDeep(target), source, (a, b) => { + return mergeWith({}, cloneDeep(target), source, (a, b) => { if (isPlainObject(a) && isPlainObject(b)) { return undefined; } diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx b/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx index 7ee8dfa496b57..b6ae25eb0589c 100644 --- a/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx +++ b/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx @@ -78,7 +78,7 @@ export function DetailView({ errorGroup, urlParams, location }: Props) { } const tabs = getTabs(error); - const currentTab = getCurrentTab(tabs, urlParams.detailTab); + const currentTab = getCurrentTab(tabs, urlParams.detailTab) as any; const errorUrl = error.error.page?.url || error.url?.full; diff --git a/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/WatcherFlyout.tsx b/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/WatcherFlyout.tsx index 8a3e2b1a02dac..26cff5e71b610 100644 --- a/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/WatcherFlyout.tsx +++ b/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/WatcherFlyout.tsx @@ -26,7 +26,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import { padLeft, range } from 'lodash'; +import { padStart, range } from 'lodash'; import moment from 'moment-timezone'; import React, { Component } from 'react'; import styled from 'styled-components'; @@ -288,7 +288,7 @@ export class WatcherFlyout extends Component< // Generate UTC hours for Daily Report select field const intervalHours = range(24).map((i) => { - const hour = padLeft(i.toString(), 2, '0'); + const hour = padStart(i.toString(), 2, '0'); return { value: `${hour}:00`, text: `${hour}:00 UTC` }; }); diff --git a/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/__test__/createErrorGroupWatch.test.ts b/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/__test__/createErrorGroupWatch.test.ts index f0bc313ab4644..054476af28de1 100644 --- a/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/__test__/createErrorGroupWatch.test.ts +++ b/x-pack/plugins/apm/public/components/app/ServiceDetails/ServiceIntegrations/__test__/createErrorGroupWatch.test.ts @@ -110,7 +110,7 @@ function renderMustache( if (isObject(input)) { return Object.keys(input).reduce((acc, key) => { - const value = input[key]; + const value = (input as any)[key]; return { ...acc, [key]: renderMustache(value, ctx) }; }, {}); diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx b/x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx index c1bfce4cdca49..620ae6708eda0 100644 --- a/x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx +++ b/x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx @@ -12,7 +12,6 @@ import { EuiFlexGroup, EuiFlexItem, } from '@elastic/eui'; -import _ from 'lodash'; import React, { useMemo } from 'react'; import { useTransactionCharts } from '../../../hooks/useTransactionCharts'; import { useTransactionDistribution } from '../../../hooks/useTransactionDistribution'; diff --git a/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx b/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx index ef7ebe684fade..60b734271c89e 100644 --- a/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx @@ -5,7 +5,7 @@ */ import { EuiBasicTable, EuiBasicTableColumn } from '@elastic/eui'; -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; import React, { useMemo, useCallback, ReactNode } from 'react'; import { useUrlParams } from '../../../hooks/useUrlParams'; import { history } from '../../../utils/history'; @@ -60,7 +60,7 @@ function UnoptimizedManagedTable(props: Props) { const renderedItems = useMemo(() => { // TODO: Use _.orderBy once we upgrade to lodash 4+ const sortedItems = sortItems - ? sortByOrder(items, sortField, sortDirection) + ? orderBy(items, sortField, sortDirection as any) : items; return sortedItems.slice(page * pageSize, (page + 1) * pageSize); diff --git a/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx b/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx index 01043f33ec7b7..d0626295c1fb3 100644 --- a/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx @@ -79,7 +79,7 @@ interface StackframesGroup { export function getGroupedStackframes(stackframes: IStackframe[]) { return stackframes.reduce((acc, stackframe) => { - const prevGroup = last(acc); + const prevGroup = last(acc) as any; const shouldAppend = prevGroup && prevGroup.isLibraryFrame === stackframe.library_frame && diff --git a/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/sections.ts b/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/sections.ts index 7f99939a0a0d0..d3a9ade3925a1 100644 --- a/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/sections.ts +++ b/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/sections.ts @@ -5,7 +5,7 @@ */ import { i18n } from '@kbn/i18n'; import { Location } from 'history'; -import { pick, isEmpty } from 'lodash'; +import { pickBy, isEmpty } from 'lodash'; import moment from 'moment'; import url from 'url'; import { Transaction } from '../../../../typings/es_schemas/ui/transaction'; @@ -63,13 +63,13 @@ export const getSections = ({ const uptimeLink = url.format({ pathname: basePath.prepend('/app/uptime'), search: `?${fromQuery( - pick( + pickBy( { dateRangeStart: urlParams.rangeFrom, dateRangeEnd: urlParams.rangeTo, search: `url.domain:"${transaction.url?.domain}"`, }, - (val: string) => !isEmpty(val) + (val) => !isEmpty(val) ) )}`, }); diff --git a/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx b/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx index a26653d3d5294..803a6f1230a7a 100644 --- a/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx +++ b/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import { EuiPortal, EuiProgress } from '@elastic/eui'; -import { pick } from 'lodash'; +import { pickBy, isBoolean } from 'lodash'; import React, { Fragment, useMemo, useReducer } from 'react'; import { useDelayedVisibility } from '../components/shared/useDelayedVisibility'; @@ -26,9 +26,9 @@ function reducer(statuses: State, action: Action) { // Return an object with only the ids with `true` as their value, so that ids // that previously had `false` are removed and do not remain hanging around in // the object. - return pick( + return pickBy( { ...statuses, [action.id.toString()]: action.isLoading }, - Boolean + isBoolean ); } diff --git a/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts b/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts index 9ce993e848488..911480877a76d 100644 --- a/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts +++ b/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { compact, pick } from 'lodash'; +import { compact, pickBy } from 'lodash'; import datemath from '@elastic/datemath'; import { IUrlParams } from './types'; import { ProcessorEvent } from '../../../common/processor_event'; @@ -62,7 +62,7 @@ export function getPathAsArray(pathname: string = '') { } export function removeUndefinedProps(obj: T): Partial { - return pick(obj, (value) => value !== undefined); + return pickBy(obj as any, (value) => value !== undefined) as any; } export function getPathParams(pathname: string = ''): PathParams { diff --git a/x-pack/plugins/apm/public/selectors/chartSelectors.ts b/x-pack/plugins/apm/public/selectors/chartSelectors.ts index cfe1a6a60cd22..69859a0c092c1 100644 --- a/x-pack/plugins/apm/public/selectors/chartSelectors.ts +++ b/x-pack/plugins/apm/public/selectors/chartSelectors.ts @@ -6,8 +6,7 @@ import theme from '@elastic/eui/dist/eui_theme_light.json'; import { i18n } from '@kbn/i18n'; -import { difference, zipObject } from 'lodash'; -import mean from 'lodash.mean'; +import { difference, mean, zipObject } from 'lodash'; import { rgba } from 'polished'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { TimeSeriesAPIResponse } from '../../server/lib/transactions/charts'; diff --git a/x-pack/plugins/apm/scripts/upload-telemetry-data/index.ts b/x-pack/plugins/apm/scripts/upload-telemetry-data/index.ts index a3c97cd8828d8..19095b6959b0b 100644 --- a/x-pack/plugins/apm/scripts/upload-telemetry-data/index.ts +++ b/x-pack/plugins/apm/scripts/upload-telemetry-data/index.ts @@ -15,7 +15,7 @@ import fs from 'fs'; import path from 'path'; // @ts-ignore import { Octokit } from '@octokit/rest'; -import { merge, chunk, flatten, pick, identity } from 'lodash'; +import { merge, chunk, flatten, pickBy, identity } from 'lodash'; import axios from 'axios'; import yaml from 'js-yaml'; import { Client } from 'elasticsearch'; @@ -51,7 +51,7 @@ const loadedKibanaConfig = (yaml.safeLoad( ) ) || {}) as {}; -const cliEsCredentials = pick( +const cliEsCredentials = pickBy( { 'elasticsearch.username': process.env.ELASTICSEARCH_USERNAME, 'elasticsearch.password': process.env.ELASTICSEARCH_PASSWORD, diff --git a/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts b/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts index 01cbc1aa9b989..060e9135daed4 100644 --- a/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts +++ b/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { find, uniq } from 'lodash'; +import { find, uniqBy } from 'lodash'; import { PROCESSOR_EVENT, SERVICE_ENVIRONMENT, @@ -257,22 +257,21 @@ export async function getServiceMapFromTraceIds({ }); } - const connections = uniq( - paths.flatMap((path) => { - return path.reduce((conns, location, index) => { - const prev = path[index - 1]; - if (prev) { - return conns.concat({ - source: prev, - destination: location, - }); - } - return conns; - }, [] as Connection[]); - }, [] as Connection[]), - (value, _index, array) => { - return find(array, value); - } + const connectionsArr = paths.flatMap((path) => { + return path.reduce((conns, location, index) => { + const prev = path[index - 1]; + if (prev) { + return conns.concat({ + source: prev, + destination: location, + }); + } + return conns; + }, [] as Connection[]); + }, [] as Connection[]); + + const connections = uniqBy(connectionsArr, (value) => + find(connectionsArr, value) ); return { diff --git a/x-pack/plugins/apm/server/lib/service_map/transform_service_map_responses.ts b/x-pack/plugins/apm/server/lib/service_map/transform_service_map_responses.ts index 53abf54cbcf31..7ff7162f18943 100644 --- a/x-pack/plugins/apm/server/lib/service_map/transform_service_map_responses.ts +++ b/x-pack/plugins/apm/server/lib/service_map/transform_service_map_responses.ts @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { sortBy, pick, identity } from 'lodash'; +import { sortBy, pickBy, identity } from 'lodash'; import { ValuesType } from 'utility-types'; import { SERVICE_NAME, @@ -118,7 +118,7 @@ export function transformServiceMapResponses(response: ServiceMapResponse) { id: matchedServiceNodes[0][SERVICE_NAME], }, ...matchedServiceNodes.map((serviceNode) => - pick(serviceNode, identity) + pickBy(serviceNode, identity) ) ), }; diff --git a/x-pack/plugins/apm/server/lib/transaction_groups/transform.ts b/x-pack/plugins/apm/server/lib/transaction_groups/transform.ts index 2f34d365e5be9..4ba50f0d99415 100644 --- a/x-pack/plugins/apm/server/lib/transaction_groups/transform.ts +++ b/x-pack/plugins/apm/server/lib/transaction_groups/transform.ts @@ -5,7 +5,7 @@ */ import moment from 'moment'; -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; import { ESResponse } from './fetcher'; function calculateRelativeImpacts(transactionGroups: ITransactionGroup[]) { @@ -27,7 +27,7 @@ function calculateRelativeImpacts(transactionGroups: ITransactionGroup[]) { const getBuckets = (response: ESResponse) => { if (response.aggregations) { - return sortByOrder( + return orderBy( response.aggregations.transaction_groups.buckets, ['sum.value'], ['desc'] diff --git a/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts b/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts index 713423f8953d5..9f15ac8be017c 100644 --- a/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts +++ b/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { flatten, sortByOrder, last } from 'lodash'; +import { flatten, orderBy, last } from 'lodash'; import { SERVICE_NAME, SPAN_SUBTYPE, @@ -138,13 +138,13 @@ export async function getTransactionBreakdown({ }; const visibleKpis = resp.aggregations - ? sortByOrder(formatBucket(resp.aggregations), 'percentage', 'desc').slice( + ? orderBy(formatBucket(resp.aggregations), 'percentage', 'desc').slice( 0, MAX_KPIS ) : []; - const kpis = sortByOrder(visibleKpis, 'name').map((kpi, index) => { + const kpis = orderBy(visibleKpis, 'name').map((kpi, index) => { return { ...kpi, color: getVizColorForIndex(index), @@ -186,8 +186,8 @@ export async function getTransactionBreakdown({ // is drawn correctly. // If we set all values to 0, the chart always displays null values as 0, // and the chart looks weird. - const hasAnyValues = lastValues.some((value) => value.y !== null); - const hasNullValues = lastValues.some((value) => value.y === null); + const hasAnyValues = lastValues.some((value: any) => value.y !== null); + const hasNullValues = lastValues.some((value: any) => value.y === null); if (hasAnyValues && hasNullValues) { Object.values(updatedSeries).forEach((series) => { diff --git a/x-pack/plugins/apm/server/lib/transactions/charts/get_anomaly_data/transform.ts b/x-pack/plugins/apm/server/lib/transactions/charts/get_anomaly_data/transform.ts index 454a6add3e256..25d6c5140f69a 100644 --- a/x-pack/plugins/apm/server/lib/transactions/charts/get_anomaly_data/transform.ts +++ b/x-pack/plugins/apm/server/lib/transactions/charts/get_anomaly_data/transform.ts @@ -52,8 +52,8 @@ export function getAnomalyScoreDataPoints( bucketSizeInMillis: number ): RectCoordinate[] { const ANOMALY_THRESHOLD = 75; - const firstDate = first(timeSeriesDates); - const lastDate = last(timeSeriesDates); + const firstDate = first(timeSeriesDates) as number; + const lastDate = last(timeSeriesDates) as number; return buckets .filter( @@ -88,8 +88,8 @@ export function replaceFirstAndLastBucket( buckets: IBucket[], timeSeriesDates: number[] ) { - const firstDate = first(timeSeriesDates); - const lastDate = last(timeSeriesDates); + const firstDate = first(timeSeriesDates) as number; + const lastDate = last(timeSeriesDates) as number; const preBucketWithValue = buckets .filter((p) => p.x <= firstDate) diff --git a/x-pack/plugins/apm/server/lib/ui_filters/local_ui_filters/index.ts b/x-pack/plugins/apm/server/lib/ui_filters/local_ui_filters/index.ts index 967314644c246..ba12cf3e8282a 100644 --- a/x-pack/plugins/apm/server/lib/ui_filters/local_ui_filters/index.ts +++ b/x-pack/plugins/apm/server/lib/ui_filters/local_ui_filters/index.ts @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { cloneDeep, sortByOrder } from 'lodash'; +import { cloneDeep, orderBy } from 'lodash'; import { UIFilters } from '../../../../typings/ui_filters'; import { Projection } from '../../../../common/projections/typings'; import { PromiseReturnType } from '../../../../../observability/typings/common'; @@ -48,7 +48,7 @@ export async function getLocalUIFilters({ return { ...filter, - options: sortByOrder( + options: orderBy( buckets.map((bucket) => { return { name: bucket.key as string, diff --git a/x-pack/plugins/apm/server/routes/create_api/index.ts b/x-pack/plugins/apm/server/routes/create_api/index.ts index b21f0ea8d32db..92f52dd1552d6 100644 --- a/x-pack/plugins/apm/server/routes/create_api/index.ts +++ b/x-pack/plugins/apm/server/routes/create_api/index.ts @@ -140,6 +140,7 @@ export function createApi() { // Only return values for parameters that have runtime types, // but always include query as _debug is always set even if // it's not defined in the route. + // @ts-ignore params: pick(parsedParams, ...Object.keys(params), 'query'), config, logger, diff --git a/x-pack/plugins/apm/server/routes/services.ts b/x-pack/plugins/apm/server/routes/services.ts index 8672c6c108c4c..78a5a5e6d5838 100644 --- a/x-pack/plugins/apm/server/routes/services.ts +++ b/x-pack/plugins/apm/server/routes/services.ts @@ -6,7 +6,7 @@ import * as t from 'io-ts'; import Boom from 'boom'; -import { unique } from 'lodash'; +import { uniq } from 'lodash'; import { setupRequest } from '../lib/helpers/setup_request'; import { getServiceAgentName } from '../lib/services/get_service_agent_name'; import { getServices } from '../lib/services/get_services'; @@ -159,7 +159,7 @@ export const serviceAnnotationsCreateRoute = createRoute(() => ({ ...body.service, name: path.serviceName, }, - tags: unique(['apm'].concat(body.tags ?? [])), + tags: uniq(['apm'].concat(body.tags ?? [])), }); }, })); diff --git a/x-pack/plugins/apm/typings/lodash.mean.d.ts b/x-pack/plugins/apm/typings/lodash.mean.d.ts deleted file mode 100644 index 0b9ca3f6914cb..0000000000000 --- a/x-pack/plugins/apm/typings/lodash.mean.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License; - * you may not use this file except in compliance with the Elastic License. - */ - -declare module 'lodash.mean' { - function mean(numbers: Array): number; - export = mean; -} diff --git a/x-pack/plugins/beats_management/public/components/enroll_beats.tsx b/x-pack/plugins/beats_management/public/components/enroll_beats.tsx index e609cd83587ce..5bf0f51f48355 100644 --- a/x-pack/plugins/beats_management/public/components/enroll_beats.tsx +++ b/x-pack/plugins/beats_management/public/components/enroll_beats.tsx @@ -18,7 +18,7 @@ import { EuiTitle, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; import React from 'react'; import { CMBeat } from '../../../../legacy/plugins/beats_management/common/domain_types'; @@ -93,7 +93,7 @@ export class EnrollBeat extends React.Component } const cmdText = `${this.state.command .replace('{{beatType}}', this.state.beatType) - .replace('{{beatTypeInCaps}}', capitalize(this.state.beatType))} enroll ${ + .replace('{{beatTypeInCaps}}', upperFirst(this.state.beatType))} enroll ${ window.location.protocol }//${window.location.host}${this.props.frameworkBasePath} ${this.props.enrollmentToken}`; @@ -183,7 +183,7 @@ export class EnrollBeat extends React.Component id="xpack.beatsManagement.enrollBeat.yourBeatTypeHostTitle" defaultMessage="On the host where your {beatType} is installed, run:" values={{ - beatType: capitalize(this.state.beatType), + beatType: upperFirst(this.state.beatType), }} /> @@ -220,7 +220,7 @@ export class EnrollBeat extends React.Component id="xpack.beatsManagement.enrollBeat.waitingBeatTypeToEnrollTitle" defaultMessage="Waiting for {beatType} to enroll…" values={{ - beatType: capitalize(this.state.beatType), + beatType: upperFirst(this.state.beatType), }} /> diff --git a/x-pack/plugins/beats_management/public/components/navigation/connected_link.tsx b/x-pack/plugins/beats_management/public/components/navigation/connected_link.tsx index 947e22ee29089..ebac34afa016b 100644 --- a/x-pack/plugins/beats_management/public/components/navigation/connected_link.tsx +++ b/x-pack/plugins/beats_management/public/components/navigation/connected_link.tsx @@ -3,6 +3,8 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ + +import _ from 'lodash'; import React from 'react'; import { EuiLink } from '@elastic/eui'; diff --git a/x-pack/plugins/beats_management/public/components/table/table_type_configs.tsx b/x-pack/plugins/beats_management/public/components/table/table_type_configs.tsx index 94e4ca46aec19..6bbf269711fbd 100644 --- a/x-pack/plugins/beats_management/public/components/table/table_type_configs.tsx +++ b/x-pack/plugins/beats_management/public/components/table/table_type_configs.tsx @@ -6,7 +6,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiHealth, EuiToolTip, IconColor } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { sortBy, uniq } from 'lodash'; +import { sortBy, uniqBy } from 'lodash'; import moment from 'moment'; import React from 'react'; import { @@ -226,7 +226,7 @@ export const BeatsTableType: TableType = { // render: (tags?: BeatTag[]) => // tags && tags.length ? ( // - // {moment(first(sortByOrder(tags, ['last_updated'], ['desc'])).last_updated).fromNow()} + // {moment(first(orderBy(tags, ['last_updated'], ['desc'])).last_updated).fromNow()} // // ) : null, // sortable: true, @@ -249,7 +249,7 @@ export const BeatsTableType: TableType = { name: i18n.translate('xpack.beatsManagement.beatsTable.typeLabel', { defaultMessage: 'Type', }), - options: uniq( + options: uniqBy( data.map(({ type }: { type: any }) => ({ value: type })), 'value' ), diff --git a/x-pack/plugins/beats_management/public/lib/adapters/beats/memory_beats_adapter.ts b/x-pack/plugins/beats_management/public/lib/adapters/beats/memory_beats_adapter.ts index 8e3f58b18f391..24a7e5c3af8fa 100644 --- a/x-pack/plugins/beats_management/public/lib/adapters/beats/memory_beats_adapter.ts +++ b/x-pack/plugins/beats_management/public/lib/adapters/beats/memory_beats_adapter.ts @@ -32,14 +32,14 @@ export class MemoryBeatsAdapter implements CMBeatsAdapter { } public async getAll() { - return this.beatsDB.map((beat: any) => omit(beat, ['access_token'])); + return this.beatsDB.map((beat: any) => omit(beat, ['access_token'])) as CMBeat[]; } public async getBeatsWithTag(tagId: string): Promise { - return this.beatsDB.map((beat: any) => omit(beat, ['access_token'])); + return this.beatsDB.map((beat: any) => omit(beat, ['access_token'])) as CMBeat[]; } public async getBeatWithToken(enrollmentToken: string): Promise { - return this.beatsDB.map((beat: any) => omit(beat, ['access_token']))[0]; + return this.beatsDB.map((beat: any) => omit(beat, ['access_token']))[0] as CMBeat | null; } public async removeTagsFromBeats( removals: BeatsTagAssignment[] @@ -66,11 +66,11 @@ export class MemoryBeatsAdapter implements CMBeatsAdapter { return beat; }); - return response.map((item: CMBeat, resultIdx: number) => ({ + return response.map((item: CMBeat, resultIdx: number) => ({ idxInRequest: removals[resultIdx].idxInRequest, result: 'updated', status: 200, - })); + })) as any; } public async assignTagsToBeats( diff --git a/x-pack/plugins/beats_management/public/lib/framework.ts b/x-pack/plugins/beats_management/public/lib/framework.ts index 9e4271c683415..63a81e0895348 100644 --- a/x-pack/plugins/beats_management/public/lib/framework.ts +++ b/x-pack/plugins/beats_management/public/lib/framework.ts @@ -58,6 +58,6 @@ export class FrameworkLib { public currentUserHasOneOfRoles(roles: string[]) { // If the user has at least one of the roles requested, the returnd difference will be less // then the orig array size. difference only compares based on the left side arg - return difference(roles, get(this.currentUser, 'roles', [])).length < roles.length; + return difference(roles, get(this.currentUser, 'roles', []) as string[]).length < roles.length; } } diff --git a/x-pack/plugins/canvas/.storybook/webpack.dll.config.js b/x-pack/plugins/canvas/.storybook/webpack.dll.config.js index 0a648e861b386..5fdc4519f3bd7 100644 --- a/x-pack/plugins/canvas/.storybook/webpack.dll.config.js +++ b/x-pack/plugins/canvas/.storybook/webpack.dll.config.js @@ -39,7 +39,6 @@ module.exports = { 'highlight.js', 'html-entities', 'jquery', - 'lodash.clone', 'lodash', 'markdown-it', 'mocha', diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts index 6cb64a43ea582..28f606502f555 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts @@ -4,9 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { get, map, groupBy } from 'lodash'; -// @ts-ignore lodash.keyby imports invalid member from @types/lodash -import keyBy from 'lodash.keyby'; +import { get, keyBy, map, groupBy } from 'lodash'; // @ts-ignore untyped local import { getColorsFromPalette } from '../../../common/lib/get_colors_from_palette'; // @ts-ignore untyped local diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/get_tick_hash.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/get_tick_hash.ts index 4839db047c871..21166454e478f 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/get_tick_hash.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/get_tick_hash.ts @@ -20,11 +20,13 @@ export const getTickHash = (columns: PointSeriesColumns, rows: DatatableRow[]) = }; if (get(columns, 'x.type') === 'string') { - sortBy(rows, ['x']).forEach((row) => { - if (!ticks.x.hash[row.x]) { - ticks.x.hash[row.x] = ticks.x.counter++; - } - }); + sortBy(rows, ['x']) + .reverse() + .forEach((row) => { + if (!ticks.x.hash[row.x]) { + ticks.x.hash[row.x] = ticks.x.counter++; + } + }); } if (get(columns, 'y.type') === 'string') { diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/index.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/index.ts index e8214ca8eaf9f..2a8bbd27e54df 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/index.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/index.ts @@ -4,9 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -// @ts-ignore no @typed def -import keyBy from 'lodash.keyby'; -import { groupBy, get, set, map, sortBy } from 'lodash'; +import { groupBy, get, keyBy, set, map, sortBy } from 'lodash'; import { ExpressionFunctionDefinition, Style } from 'src/plugins/expressions'; // @ts-ignore untyped local import { getColorsFromPalette } from '../../../../common/lib/get_colors_from_palette'; diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts index 6fbaee8736a50..29c9baed42a3c 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts @@ -12,12 +12,12 @@ export const seriesStyleToFlot = (seriesStyle: SeriesStyle) => { return {}; } - const lines = get(seriesStyle, 'lines'); - const bars = get(seriesStyle, 'bars'); - const fill = get(seriesStyle, 'fill'); - const color = get(seriesStyle, 'color'); - const stack = get(seriesStyle, 'stack'); - const horizontal = get(seriesStyle, 'horizontalBars', false); + const lines = get(seriesStyle, 'lines') as SeriesStyle['lines']; + const bars = get(seriesStyle, 'bars') as SeriesStyle['bars']; + const fill = get(seriesStyle, 'fill') as SeriesStyle['fill']; + const color = get(seriesStyle, 'color') as SeriesStyle['color']; + const stack = get(seriesStyle, 'stack') as SeriesStyle['stack']; + const horizontal = get(seriesStyle, 'horizontalBars', false) as SeriesStyle['horizontalBars']; const flotStyle = { numbers: { diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts index 54e48c8abf04b..705c7ac2957c8 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts @@ -4,11 +4,9 @@ * you may not use this file except in compliance with the Elastic License. */ -// @ts-ignore Untyped library -import uniqBy from 'lodash.uniqby'; // @ts-ignore Untyped Elastic library import { evaluate } from 'tinymath'; -import { groupBy, zipObject, omit } from 'lodash'; +import { groupBy, zipObject, omit, uniqBy } from 'lodash'; import moment from 'moment'; import { ExpressionFunctionDefinition } from 'src/plugins/expressions/common'; import { diff --git a/x-pack/plugins/canvas/canvas_plugin_src/renderers/time_filter/components/time_filter.tsx b/x-pack/plugins/canvas/canvas_plugin_src/renderers/time_filter/components/time_filter.tsx index 8d28287b32066..487f17fb89d12 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/renderers/time_filter/components/time_filter.tsx +++ b/x-pack/plugins/canvas/canvas_plugin_src/renderers/time_filter/components/time_filter.tsx @@ -34,9 +34,9 @@ export interface FilterMeta { function getFilterMeta(filter: string): FilterMeta { const ast = fromExpression(filter); - const column = get(ast, 'chain[0].arguments.column[0]'); - const start = get(ast, 'chain[0].arguments.from[0]'); - const end = get(ast, 'chain[0].arguments.to[0]'); + const column = get(ast, 'chain[0].arguments.column[0]') as string; + const start = get(ast, 'chain[0].arguments.from[0]') as string; + const end = get(ast, 'chain[0].arguments.to[0]') as string; return { column, start, end }; } diff --git a/x-pack/plugins/canvas/canvas_plugin_src/uis/views/plot.js b/x-pack/plugins/canvas/canvas_plugin_src/uis/views/plot.js index 1449bddf322b5..05ecf467a1d35 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/uis/views/plot.js +++ b/x-pack/plugins/canvas/canvas_plugin_src/uis/views/plot.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { map, uniq } from 'lodash'; +import { map, uniqBy } from 'lodash'; import { getState, getValue } from '../../../public/lib/resolved_arg'; import { legendOptions } from '../../../public/lib/legend_options'; import { ViewStrings } from '../../../i18n'; @@ -72,6 +72,6 @@ export const plot = () => ({ if (getState(context) !== 'ready') { return { labels: [] }; } - return { labels: uniq(map(getValue(context).rows, 'color').filter((v) => v !== undefined)) }; + return { labels: uniqBy(map(getValue(context).rows, 'color').filter((v) => v !== undefined)) }; }, }); diff --git a/x-pack/plugins/canvas/common/lib/pivot_object_array.ts b/x-pack/plugins/canvas/common/lib/pivot_object_array.ts index c098b7772ef11..8689364b053ea 100644 --- a/x-pack/plugins/canvas/common/lib/pivot_object_array.ts +++ b/x-pack/plugins/canvas/common/lib/pivot_object_array.ts @@ -21,5 +21,5 @@ export function pivotObjectArray< } const columnValues = map(columnNames, (name) => map(rows, name)); - return zipObject(columnNames, columnValues); + return zipObject(columnNames, columnValues) as any; } diff --git a/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx b/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx index 134efe61c9dcb..23eb4091c3086 100644 --- a/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx +++ b/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx @@ -53,7 +53,7 @@ interface HandlerProps { resetErrorState: ResetErrorState; } -export const errorBoundaryHoc = compose( +export const errorBoundaryHoc = compose( withState('error', 'setError', null), withState('errorInfo', 'setErrorInfo', null), withHandlers({ @@ -68,9 +68,9 @@ export const errorBoundaryHoc = compose( this.props.setErrorInfo(errorInfo); }, }), - mapProps>((props) => - omit(props, ['setError', 'setErrorInfo']) + mapProps>( + (props) => omit(props, ['setError', 'setErrorInfo']) as HOCProps ) -); +) as any; export const ErrorBoundary = errorBoundaryHoc(ErrorBoundaryComponent); diff --git a/x-pack/plugins/canvas/public/components/function_form/function_form.js b/x-pack/plugins/canvas/public/components/function_form/function_form.js index 8c9f8847d8eed..062f782942a82 100644 --- a/x-pack/plugins/canvas/public/components/function_form/function_form.js +++ b/x-pack/plugins/canvas/public/components/function_form/function_form.js @@ -32,7 +32,6 @@ const branches = [ export const FunctionForm = compose(...branches)(FunctionFormComponent); FunctionForm.propTypes = { - expressionType: PropTypes.object, context: PropTypes.object, expressionType: PropTypes.object, }; diff --git a/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx b/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx index 234f505071669..bafb9b248358c 100644 --- a/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx +++ b/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx @@ -36,11 +36,11 @@ export const ItemGrid: ItemGridType = function ItemGridFunc({ }: Props) { const reducedRows = items.reduce( (rows: Array>>, item: any) => { - if (last(rows).length >= itemsPerRow) { + if ((last(rows) as any).length >= itemsPerRow) { rows.push([]); } - last(rows).push(children(item)); + (last(rows) as any).push(children(item)); return rows; }, diff --git a/x-pack/plugins/canvas/public/components/workpad_config/index.ts b/x-pack/plugins/canvas/public/components/workpad_config/index.ts index e417821fd4f67..bbfc11d28f6ec 100644 --- a/x-pack/plugins/canvas/public/components/workpad_config/index.ts +++ b/x-pack/plugins/canvas/public/components/workpad_config/index.ts @@ -17,12 +17,12 @@ const mapStateToProps = (state: State) => { const workpad = getWorkpad(state); return { - name: get(workpad, 'name'), + name: get(workpad, 'name') as string, size: { - width: get(workpad, 'width'), - height: get(workpad, 'height'), + width: get(workpad, 'width') as number, + height: get(workpad, 'height') as number, }, - css: get(workpad, 'css', DEFAULT_WORKPAD_CSS), + css: get(workpad, 'css', DEFAULT_WORKPAD_CSS) as string, }; }; diff --git a/x-pack/plugins/canvas/public/components/workpad_loader/workpad_loader.js b/x-pack/plugins/canvas/public/components/workpad_loader/workpad_loader.js index 28cfac11e76bd..af4e3af6db693 100644 --- a/x-pack/plugins/canvas/public/components/workpad_loader/workpad_loader.js +++ b/x-pack/plugins/canvas/public/components/workpad_loader/workpad_loader.js @@ -19,7 +19,7 @@ import { EuiFilePicker, EuiLink, } from '@elastic/eui'; -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; import { ConfirmModal } from '../confirm_modal'; import { Link } from '../link'; import { Paginate } from '../paginate'; @@ -369,7 +369,7 @@ export class WorkpadLoader extends React.PureComponent { if (!createPending && !isLoading) { const { workpads } = this.props.workpads; - sortedWorkpads = sortByOrder(workpads, [sortField, '@timestamp'], [sortDirection, 'desc']); + sortedWorkpads = orderBy(workpads, [sortField, '@timestamp'], [sortDirection, 'desc']); } return ( diff --git a/x-pack/plugins/canvas/public/components/workpad_templates/workpad_templates.js b/x-pack/plugins/canvas/public/components/workpad_templates/workpad_templates.js index 80ee5a0396704..647a169150b9a 100644 --- a/x-pack/plugins/canvas/public/components/workpad_templates/workpad_templates.js +++ b/x-pack/plugins/canvas/public/components/workpad_templates/workpad_templates.js @@ -15,7 +15,7 @@ import { EuiButtonEmpty, EuiSearchBar, } from '@elastic/eui'; -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; import { Paginate } from '../paginate'; import { TagList } from '../tag_list'; import { getTagsFilter } from '../../lib/get_tags_filter'; @@ -144,7 +144,7 @@ export class WorkpadTemplates extends React.PureComponent { render() { const { templates } = this.props; const { sortField, sortDirection, searchTerm, filterTags } = this.state; - const sortedTemplates = sortByOrder(templates, [sortField, 'name'], [sortDirection, 'asc']); + const sortedTemplates = orderBy(templates, [sortField, 'name'], [sortDirection, 'asc']); const filteredTemplates = sortedTemplates.filter(({ name = '', help = '', tags = [] }) => { const tagMatch = filterTags.length diff --git a/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx b/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx index e0fe6e60c1dab..1e2e330ffa2ac 100644 --- a/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx +++ b/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx @@ -46,7 +46,7 @@ export const ExtendedTemplate: FunctionComponent = (props) => { name = typeInstance.name; } - const fields = get(typeInstance, 'options.include', []); + const fields = get(typeInstance, 'options.include', []) as string[]; const hasPropFields = fields.some((field) => ['lines', 'bars', 'points'].indexOf(field) !== -1); const handleChange: (key: T, val: ChangeEvent) => void = ( @@ -91,7 +91,7 @@ export const ExtendedTemplate: FunctionComponent = (props) => { - {fields.includes('lines') && ( + {(fields as any).includes('lines') && ( = (props) => { )} - {fields.includes('bars') && ( + {(fields as any).includes('bars') && ( = (props) => { )} - {fields.includes('points') && ( + {(fields as any).includes('points') && ( { const ast = fromExpression(filter); - const expGroups = get(ast, 'chain[0].arguments.filterGroup', []); - return expGroups.length > 0 && expGroups.every((expGroup) => groups.includes(expGroup)); + const expGroups = get(ast, 'chain[0].arguments.filterGroup', []) as any; + return expGroups.length > 0 && expGroups.every((expGroup: any) => groups.includes(expGroup)); }); } diff --git a/x-pack/plugins/canvas/public/lib/keymap.ts b/x-pack/plugins/canvas/public/lib/keymap.ts index 7ca93f440087e..2491aece97789 100644 --- a/x-pack/plugins/canvas/public/lib/keymap.ts +++ b/x-pack/plugins/canvas/public/lib/keymap.ts @@ -156,11 +156,11 @@ export const keymap: KeyMap = { PREV: mapValues(previousPageShortcut, (osShortcuts: string[], key?: string) => // adds 'backspace' and 'left' to list of shortcuts per OS key === 'help' ? osShortcuts : osShortcuts.concat(['backspace', 'left']) - ), + ) as any, NEXT: mapValues(nextPageShortcut, (osShortcuts: string[], key?: string) => // adds 'space' and 'right' to list of shortcuts per OS key === 'help' ? osShortcuts : osShortcuts.concat(['space', 'right']) - ), + ) as any, REFRESH: refreshShortcut, PAGE_CYCLE_TOGGLE: getShortcuts('p', { help: shortcutHelp.PAGE_CYCLE_TOGGLE }), }, diff --git a/x-pack/plugins/canvas/public/lib/modify_path.js b/x-pack/plugins/canvas/public/lib/modify_path.js index b4b2354b4cae0..714a616679bc9 100644 --- a/x-pack/plugins/canvas/public/lib/modify_path.js +++ b/x-pack/plugins/canvas/public/lib/modify_path.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import toPath from 'lodash.topath'; +import { toPath } from 'lodash'; export function prepend(path, value) { return toPath(value).concat(toPath(path)); diff --git a/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts b/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts index 9e2036e02f2b9..9793d9a2e8230 100644 --- a/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts +++ b/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts @@ -12,7 +12,7 @@ import { prepend } from '../../lib/modify_path'; import { State } from '../../../types'; export function getArgs(state: State) { - return get(state, ['transient', 'resolvedArgs']); + return get(state, ['transient', 'resolvedArgs']) as any; } export function getArg(state: State, path: any[]) { diff --git a/x-pack/plugins/canvas/public/state/selectors/workpad.ts b/x-pack/plugins/canvas/public/state/selectors/workpad.ts index 55bf2a7ea31f7..331e53a69125c 100644 --- a/x-pack/plugins/canvas/public/state/selectors/workpad.ts +++ b/x-pack/plugins/canvas/public/state/selectors/workpad.ts @@ -50,7 +50,7 @@ export function getWorkpadPersisted(state: State) { } export function getWorkpadInfo(state: State): WorkpadInfo { - return omit(getWorkpad(state), ['pages']); + return omit(getWorkpad(state), ['pages']) as WorkpadInfo; } export function isWriteable(state: State): boolean { @@ -308,7 +308,7 @@ export function getElements( } const page = getPageById(state, id); - const elements = get(page, 'elements'); + const elements = get(page, 'elements') as any; if (!elements) { return []; @@ -318,10 +318,10 @@ export function getElements( // due to https://github.com/elastic/kibana-canvas/issues/260 // TODO: remove this once it's been in the wild a bit if (!withAst) { - return elements.map((el) => omit(el, ['ast'])); + return elements.map((el: any) => omit(el, ['ast'])) as CanvasElement[]; } - return elements.map(appendAst); + return elements.map(appendAst) as CanvasElement[]; } const augment = (type: string) => (n: T): T => ({ @@ -331,8 +331,8 @@ const augment = (type: string) => (n: T): }); const getNodesOfPage = (page: CanvasPage): CanvasElement[] => { - const elements = get(page, 'elements').map(augment('element')); - const groups = get(page, 'groups', []).map(augment('group')); + const elements = get(page, 'elements').map(augment('element')) as any; + const groups = (get(page, 'groups', []) as any).map(augment('group')) as any; return elements.concat(groups as CanvasElement[]); }; @@ -354,7 +354,7 @@ export function getNodesForPage(page: CanvasPage, withAst: boolean): CanvasEleme // due to https://github.com/elastic/kibana-canvas/issues/260 // TODO: remove this once it's been in the wild a bit if (!withAst) { - return elements.map((el) => omit(el, ['ast'])); + return elements.map((el) => omit(el, ['ast'])) as CanvasElement[]; } return elements.map(appendAst); @@ -407,7 +407,7 @@ export function getResolvedArgs(state: State, elementId: string, path: any): any if (!elementId) { return; } - const args = get(state, ['transient', 'resolvedArgs', elementId]); + const args = get(state, ['transient', 'resolvedArgs', elementId]) as any; if (path) { return get(args, path); } diff --git a/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts b/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts index 3ada8e7b4efdc..bbd73a6f44efe 100644 --- a/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts +++ b/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts @@ -113,7 +113,7 @@ const customElementCollector: TelemetryCollector = async function customElementC const esResponse = await callCluster('search', customElementParams); - if (get(esResponse, 'hits.hits.length') > 0) { + if ((get(esResponse, 'hits.hits.length') as number) > 0) { const customElements = esResponse.hits.hits.map((hit) => hit._source[CUSTOM_ELEMENT_TYPE]); return summarizeCustomElements(customElements); } diff --git a/x-pack/plugins/canvas/server/collectors/workpad_collector.test.ts b/x-pack/plugins/canvas/server/collectors/workpad_collector.test.ts index 420b785771bfe..9f71edcc05bf2 100644 --- a/x-pack/plugins/canvas/server/collectors/workpad_collector.test.ts +++ b/x-pack/plugins/canvas/server/collectors/workpad_collector.test.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import clonedeep from 'lodash.clonedeep'; +import { cloneDeep } from 'lodash'; import { summarizeWorkpads } from './workpad_collector'; import { workpads } from '../../__tests__/fixtures/workpads'; @@ -53,7 +53,7 @@ describe('usage collector handle es response data', () => { }); it('should collect correctly if an expression has null as an argument (possible sub-expression)', () => { - const workpad = clonedeep(workpads[0]); + const workpad = cloneDeep(workpads[0]); workpad.pages[0].elements[0].expression = 'toast butter=null'; const mockWorkpads = [workpad]; @@ -67,7 +67,7 @@ describe('usage collector handle es response data', () => { }); it('should fail gracefully if workpad has 0 pages (corrupted workpad)', () => { - const workpad = clonedeep(workpads[0]); + const workpad = cloneDeep(workpads[0]); workpad.pages = []; const mockWorkpadsCorrupted = [workpad]; const usage = summarizeWorkpads(mockWorkpadsCorrupted); diff --git a/x-pack/plugins/canvas/server/collectors/workpad_collector.ts b/x-pack/plugins/canvas/server/collectors/workpad_collector.ts index 3d394afaeba50..950af8a510430 100644 --- a/x-pack/plugins/canvas/server/collectors/workpad_collector.ts +++ b/x-pack/plugins/canvas/server/collectors/workpad_collector.ts @@ -154,8 +154,8 @@ export function summarizeWorkpads(workpadDocs: CanvasWorkpad[]): WorkpadTelemetr return { workpads: { total: workpadsInfo.length }, pages: pagesInfo, - elements: elementsInfo, - functions: functionsInfo, + elements: elementsInfo as any, + functions: functionsInfo as any, }; } @@ -170,7 +170,7 @@ const workpadCollector: TelemetryCollector = async function (kibanaIndex, callCl const esResponse = await callCluster('search', searchParams); - if (get(esResponse, 'hits.hits.length') > 0) { + if ((get(esResponse, 'hits.hits.length') as number) > 0) { const workpads = esResponse.hits.hits.map((hit) => hit._source[CANVAS_TYPE]); return summarizeWorkpads(workpads); } diff --git a/x-pack/plugins/canvas/server/routes/workpad/update.ts b/x-pack/plugins/canvas/server/routes/workpad/update.ts index 021ac41d88d19..d6416a355a8a1 100644 --- a/x-pack/plugins/canvas/server/routes/workpad/update.ts +++ b/x-pack/plugins/canvas/server/routes/workpad/update.ts @@ -14,7 +14,6 @@ import { API_ROUTE_WORKPAD_STRUCTURES, API_ROUTE_WORKPAD_ASSETS, } from '../../../common/lib/constants'; -import { WorkpadAttributes } from './workpad_attributes'; import { WorkpadSchema, WorkpadAssetSchema } from './workpad_schema'; import { okResponse } from '../ok_response'; import { catchErrorHandler } from '../catch_error_handler'; @@ -33,8 +32,8 @@ const workpadUpdateHandler = async ( ) => { const now = new Date().toISOString(); - const workpadObject = await savedObjectsClient.get(CANVAS_TYPE, id); - await savedObjectsClient.create( + const workpadObject = (await savedObjectsClient.get(CANVAS_TYPE, id)) as any; + await savedObjectsClient.create( CANVAS_TYPE, { ...workpadObject.attributes, diff --git a/x-pack/plugins/dashboard_mode/public/plugin.ts b/x-pack/plugins/dashboard_mode/public/plugin.ts index 24273280d9495..d988de5851cf5 100644 --- a/x-pack/plugins/dashboard_mode/public/plugin.ts +++ b/x-pack/plugins/dashboard_mode/public/plugin.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { trimLeft } from 'lodash'; +import { trimStart } from 'lodash'; import { CoreSetup } from 'kibana/public'; import { KibanaLegacyStart } from '../../../../src/plugins/kibana_legacy/public'; import { @@ -19,7 +19,7 @@ function defaultUrl(defaultAppId: string) { } function dashboardAppIdPrefix() { - return trimLeft(createDashboardEditUrl(''), '/'); + return trimStart(createDashboardEditUrl(''), '/'); } function migratePath(currentHash: string, kibanaLegacy: KibanaLegacyStart) { diff --git a/x-pack/plugins/data_enhanced/public/autocomplete/providers/kql_query_suggestion/index.ts b/x-pack/plugins/data_enhanced/public/autocomplete/providers/kql_query_suggestion/index.ts index 546dc6361826a..20b3292128a2f 100644 --- a/x-pack/plugins/data_enhanced/public/autocomplete/providers/kql_query_suggestion/index.ts +++ b/x-pack/plugins/data_enhanced/public/autocomplete/providers/kql_query_suggestion/index.ts @@ -6,7 +6,7 @@ import { CoreSetup } from 'kibana/public'; import { $Keys } from 'utility-types'; -import { flatten, uniq } from 'lodash'; +import { flatten, uniqBy } from 'lodash'; import { setupGetFieldSuggestions } from './field'; import { setupGetValueSuggestions } from './value'; import { setupGetOperatorSuggestions } from './operator'; @@ -21,7 +21,7 @@ import { const cursorSymbol = '@kuery-cursor@'; const dedup = (suggestions: QuerySuggestion[]): QuerySuggestion[] => - uniq(suggestions, ({ type, text, start, end }) => [type, text, start, end].join('|')); + uniqBy(suggestions, ({ type, text, start, end }) => [type, text, start, end].join('|')); export const KUERY_LANGUAGE_NAME = 'kuery'; diff --git a/x-pack/plugins/event_log/server/event_log_service.ts b/x-pack/plugins/event_log/server/event_log_service.ts index fc72de6e47356..aa8ad83ad5e84 100644 --- a/x-pack/plugins/event_log/server/event_log_service.ts +++ b/x-pack/plugins/event_log/server/event_log_service.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import { Observable } from 'rxjs'; import { ClusterClient } from 'src/core/server'; diff --git a/x-pack/plugins/event_log/server/event_log_start_service.ts b/x-pack/plugins/event_log/server/event_log_start_service.ts index 5938f7a2e614e..1422a0213d38a 100644 --- a/x-pack/plugins/event_log/server/event_log_start_service.ts +++ b/x-pack/plugins/event_log/server/event_log_start_service.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import { Observable } from 'rxjs'; import { ClusterClient, diff --git a/x-pack/plugins/features/server/ui_capabilities_for_features.ts b/x-pack/plugins/features/server/ui_capabilities_for_features.ts index e41035e9365ce..f0f02df1a5e56 100644 --- a/x-pack/plugins/features/server/ui_capabilities_for_features.ts +++ b/x-pack/plugins/features/server/ui_capabilities_for_features.ts @@ -67,7 +67,10 @@ function getCapabilitiesFromFeature(feature: Feature): FeatureCapabilities { function buildCapabilities(...allFeatureCapabilities: FeatureCapabilities[]): UICapabilities { return allFeatureCapabilities.reduce((acc, capabilities) => { - const mergableCapabilities: UICapabilities = _.omit(capabilities, ...ELIGIBLE_FLAT_MERGE_KEYS); + const mergableCapabilities: UICapabilities = _.omit( + capabilities, + ...ELIGIBLE_FLAT_MERGE_KEYS + ) as UICapabilities; const mergedFeatureCapabilities = { ...mergableCapabilities, diff --git a/x-pack/plugins/graph/server/routes/explore.ts b/x-pack/plugins/graph/server/routes/explore.ts index 648010eeeafeb..37f9e08a7d1ab 100644 --- a/x-pack/plugins/graph/server/routes/explore.ts +++ b/x-pack/plugins/graph/server/routes/explore.ts @@ -59,7 +59,7 @@ export function registerExploreRoute({ error, 'body.error.root_cause', [] as Array<{ type: string; reason: string }> - ).find((cause) => { + ).find((cause: any) => { return ( cause.reason.includes('Fielddata is disabled on text fields') || cause.reason.includes('No support for examining floating point') || diff --git a/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.js b/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.js index e7afc8f12859c..a1eac5264bb6a 100644 --- a/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.js +++ b/x-pack/plugins/index_lifecycle_management/public/extend_index_management/index.js @@ -5,7 +5,7 @@ */ import React from 'react'; -import { get, every, any } from 'lodash'; +import { get, every, some } from 'lodash'; import { i18n } from '@kbn/i18n'; import { EuiSearchBar } from '@elastic/eui'; @@ -129,7 +129,7 @@ export const ilmSummaryExtension = (index, getUrlForApp) => { }; export const ilmFilterExtension = (indices) => { - const hasIlm = any(indices, (index) => index.ilm && index.ilm.managed); + const hasIlm = some(indices, (index) => index.ilm && index.ilm.managed); if (!hasIlm) { return []; } else { diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx index 543e7f69972d5..414816e62f2fb 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx @@ -6,23 +6,31 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); -jest.mock('lodash4', () => ({ - ...jest.requireActual('lodash4'), - debounce: (fn: any) => fn, -})); + return { + ...original, + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); + +jest.mock('lodash4', () => { + const original = jest.requireActual('lodash4'); + + return { + ...original, + debounce: (fn: any) => fn, + }; +}); import { registerTestBed, TestBed } from '../../../../../../../../test_utils'; import { LoadMappingsProvider } from './load_mappings_provider'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js index 1931884cf7306..5c249ee474b00 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js @@ -7,7 +7,7 @@ import React, { Component, Fragment } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { all } from 'lodash'; +import { every } from 'lodash'; import { EuiBadge, EuiButton, @@ -66,11 +66,11 @@ export class IndexActionsContextMenu extends Component { unfreezeIndices, hasSystemIndex, } = this.props; - const allOpen = all(indexNames, (indexName) => { + const allOpen = every(indexNames, (indexName) => { return indexStatusByName[indexName] === INDEX_OPEN; }); - const allFrozen = all(indices, (index) => index.isFrozen); - const allUnfrozen = all(indices, (index) => !index.isFrozen); + const allFrozen = every(indices, (index) => index.isFrozen); + const allUnfrozen = every(indices, (index) => !index.isFrozen); const selectedIndexCount = indexNames.length; const items = []; if (!detailPanel && selectedIndexCount === 1) { diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_chart.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_chart.tsx index 64a9d27961499..b266f7252ef26 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_chart.tsx +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression_chart.tsx @@ -86,7 +86,10 @@ export const ExpressionChart: React.FC = ({ const dateFormatter = useMemo(() => { const firstSeries = data ? first(data.series) : null; return firstSeries && firstSeries.rows.length > 0 - ? niceTimeFormatter([first(firstSeries.rows).timestamp, last(firstSeries.rows).timestamp]) + ? niceTimeFormatter([ + (first(firstSeries.rows) as any).timestamp, + (last(firstSeries.rows) as any).timestamp, + ]) : (value: number) => `${value}`; }, [data]); @@ -135,8 +138,8 @@ export const ExpressionChart: React.FC = ({ }), }; - const firstTimestamp = first(firstSeries.rows).timestamp; - const lastTimestamp = last(firstSeries.rows).timestamp; + const firstTimestamp = (first(firstSeries.rows) as any).timestamp; + const lastTimestamp = (last(firstSeries.rows) as any).timestamp; const dataDomain = calculateDomain(series, [metric], false); const domain = { max: Math.max(dataDomain.max, last(thresholds) || dataDomain.max) * 1.1, // add 10% headroom. diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/lib/transform_metrics_explorer_data.ts b/x-pack/plugins/infra/public/alerting/metric_threshold/lib/transform_metrics_explorer_data.ts index 0e631b1e333d7..f46a7f3e5a5e4 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/lib/transform_metrics_explorer_data.ts +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/lib/transform_metrics_explorer_data.ts @@ -14,8 +14,8 @@ export const transformMetricsExplorerData = ( ) => { const { criteria } = params; if (criteria && data) { - const firstSeries = first(data.series); - const series = firstSeries.rows.reduce((acc, row) => { + const firstSeries = first(data.series) as any; + const series = firstSeries.rows.reduce((acc: any, row: any) => { const { timestamp } = row; criteria.forEach((item, index) => { if (!acc[index]) { diff --git a/x-pack/plugins/infra/public/pages/link_to/redirect_to_logs.tsx b/x-pack/plugins/infra/public/pages/link_to/redirect_to_logs.tsx index cc4b6967d34fb..c2b49c43281a9 100644 --- a/x-pack/plugins/infra/public/pages/link_to/redirect_to_logs.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/redirect_to_logs.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { compose } from 'lodash'; +import { flowRight } from 'lodash'; import React from 'react'; import { match as RouteMatch, Redirect, RouteComponentProps } from 'react-router-dom'; @@ -24,7 +24,7 @@ interface RedirectToLogsProps extends RedirectToLogsType { export const RedirectToLogs = ({ location, match }: RedirectToLogsProps) => { const sourceId = match.params.sourceId || 'default'; const filter = getFilterFromLocation(location); - const searchString = compose( + const searchString = flowRight( replaceLogFilterInQueryString(filter), replaceLogPositionInQueryString(getTimeFromLocation(location)), replaceSourceIdInQueryString(sourceId) diff --git a/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx b/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx index 10320ebbe7609..37203084124f5 100644 --- a/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx @@ -6,7 +6,7 @@ import { i18n } from '@kbn/i18n'; -import { compose } from 'lodash'; +import { flowRight } from 'lodash'; import React from 'react'; import { Redirect, RouteComponentProps } from 'react-router-dom'; @@ -65,7 +65,7 @@ export const RedirectToNodeLogs = ({ const userFilter = getFilterFromLocation(location); const filter = userFilter ? `(${nodeFilter}) and (${userFilter})` : nodeFilter; - const searchString = compose( + const searchString = flowRight( replaceLogFilterInQueryString(filter), replaceLogPositionInQueryString(getTimeFromLocation(location)), replaceSourceIdInQueryString(sourceId) diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/legend_controls.tsx b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/legend_controls.tsx index 538cd5f7d9525..3997a7eab44e8 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/legend_controls.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/legend_controls.tsx @@ -266,7 +266,7 @@ export const LegendControls = ({ fullWidth label={ { @@ -79,7 +79,7 @@ export const calculateSteppedGradientColor = ( return rule.color; } return color; - }, first(rules).color || defaultColor); + }, (first(rules) as any).color || defaultColor); }; export const calculateStepColor = ( @@ -106,7 +106,7 @@ export const calculateGradientColor = ( return defaultColor; } if (rules.length === 1) { - return last(rules).color; + return (last(rules) as any).color; } const { min, max } = bounds; const sortedRules = sortBy(rules, 'value'); @@ -116,8 +116,10 @@ export const calculateGradientColor = ( return rule; } return acc; - }, first(sortedRules)); - const endRule = sortedRules.filter((r) => r !== startRule).find((r) => r.value >= normValue); + }, first(sortedRules)) as any; + const endRule = sortedRules + .filter((r) => r !== startRule) + .find((r) => r.value >= normValue) as any; if (!endRule) { return startRule.color; } diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/lib/nodes_to_wafflemap.ts b/x-pack/plugins/infra/public/pages/metrics/inventory_view/lib/nodes_to_wafflemap.ts index a6a356a78be44..ec9ad008e19dd 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/lib/nodes_to_wafflemap.ts +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/lib/nodes_to_wafflemap.ts @@ -30,7 +30,7 @@ function findOrCreateGroupWithNodes( * then look for the group in it's sub groups. */ if (path.length === 2) { - const parentId = first(path).value; + const parentId = (first(path) as any).value; const existingParentGroup = groups.find((g) => g.id === parentId); if (isWaffleMapGroupWithGroups(existingParentGroup)) { const existingSubGroup = existingParentGroup.groups.find((g) => g.id === id); diff --git a/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/helpers.ts b/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/helpers.ts index 0b8773db2dddf..c2cde7eb15e95 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/helpers.ts +++ b/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/helpers.ts @@ -44,7 +44,7 @@ export const getMaxMinTimestamp = (metric: NodeDetailsMetricData): [number, numb const lastRow = last(item.data); return acc.concat([(firstRow && firstRow.timestamp) || 0, (lastRow && lastRow.timestamp) || 0]); }, [] as number[]); - return [min(values), max(values)]; + return [min(values) as number, max(values) as number]; }; /** diff --git a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/chart.tsx b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/chart.tsx index 2a218c1c78aa3..3802366fe2ac5 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/chart.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/chart.tsx @@ -77,7 +77,10 @@ export const MetricsExplorerChart = ({ const dateFormatter = useMemo( () => series.rows.length > 0 - ? niceTimeFormatter([first(series.rows).timestamp, last(series.rows).timestamp]) + ? niceTimeFormatter([ + (first(series.rows) as any).timestamp, + (last(series.rows) as any).timestamp, + ]) : (value: number) => `${value}`, [series.rows] ); diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts index 5a34a6665e781..8a4aebcdaf748 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts @@ -148,7 +148,7 @@ const getData = async ( const { nodes } = await snapshot.getNodes(esClient, options); return nodes.reduce((acc, n) => { - const nodePathItem = last(n.path); + const nodePathItem = last(n.path) as any; acc[nodePathItem.label] = n.metric && n.metric.value; return acc; }, {} as Record); diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts index 00a1d97dec811..325ddebb0c56d 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts @@ -296,7 +296,7 @@ export const createMetricThresholdExecutor = (libs: InfraBackendLibs, alertId: s ); // Because each alert result has the same group definitions, just grap the groups from the first one. - const groups = Object.keys(first(alertResults)); + const groups = Object.keys(first(alertResults) as any); for (const group of groups) { const alertInstance = services.alertInstanceFactory(`${alertId}-${group}`); diff --git a/x-pack/plugins/infra/server/lib/snapshot/response_helpers.ts b/x-pack/plugins/infra/server/lib/snapshot/response_helpers.ts index 6cb415d8e7ac4..e616aa4948ec5 100644 --- a/x-pack/plugins/infra/server/lib/snapshot/response_helpers.ts +++ b/x-pack/plugins/infra/server/lib/snapshot/response_helpers.ts @@ -127,7 +127,7 @@ export const getNodeMetrics = ( avg: null, }; } - const lastBucket = findLastFullBucket(nodeBuckets, options); + const lastBucket = findLastFullBucket(nodeBuckets, options) as any; const result: SnapshotNodeMetric = { name: options.metric.type, value: getMetricValueFromBucket(options.metric.type, lastBucket), diff --git a/x-pack/plugins/infra/server/routes/ip_to_hostname.ts b/x-pack/plugins/infra/server/routes/ip_to_hostname.ts index 28b7777c1d688..08ad266a22f9b 100644 --- a/x-pack/plugins/infra/server/routes/ip_to_hostname.ts +++ b/x-pack/plugins/infra/server/routes/ip_to_hostname.ts @@ -48,7 +48,7 @@ export const initIpToHostName = ({ framework }: InfraBackendLibs) => { body: { message: 'Host with matching IP address not found.' }, }); } - const hostDoc = first(hits.hits); + const hostDoc = first(hits.hits) as any; return response.ok({ body: { host: hostDoc._source.host.name } }); } catch ({ statusCode = 500, message = 'Unknown error occurred' }) { return response.customError({ diff --git a/x-pack/plugins/infra/server/routes/metadata/index.ts b/x-pack/plugins/infra/server/routes/metadata/index.ts index 7e3a30e1e6918..b2664d5a6d9fe 100644 --- a/x-pack/plugins/infra/server/routes/metadata/index.ts +++ b/x-pack/plugins/infra/server/routes/metadata/index.ts @@ -59,7 +59,7 @@ export const initMetadataRoute = (libs: InfraBackendLibs) => { ); const info = await getNodeInfo(framework, requestContext, configuration, nodeId, nodeType); - const cloudInstanceId = get(info, 'cloud.instance.id'); + const cloudInstanceId = get(info, 'cloud.instance.id'); const cloudMetricsMetadata = cloudInstanceId ? await getCloudMetricsMetadata( diff --git a/x-pack/plugins/infra/server/utils/create_afterkey_handler.ts b/x-pack/plugins/infra/server/utils/create_afterkey_handler.ts index 559fba0799987..2b65c42410723 100644 --- a/x-pack/plugins/infra/server/utils/create_afterkey_handler.ts +++ b/x-pack/plugins/infra/server/utils/create_afterkey_handler.ts @@ -14,7 +14,7 @@ export const createAfterKeyHandler = ( if (!response.aggregations) { return options; } - const newOptions = { ...options }; + const newOptions = { ...options } as any; const afterKey = afterKeySelector(response); set(newOptions, optionsAfterKeyPath, afterKey); return newOptions; diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/save.ts b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/save.ts index d62f3dbcf029a..b41e93def966e 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/save.ts +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/save.ts @@ -55,7 +55,7 @@ export function getSavedObjectFormat({ state: { datasourceStates, datasourceMetaData: { - filterableIndexPatterns: _.uniq(filterableIndexPatterns, 'id'), + filterableIndexPatterns: _.uniqBy(filterableIndexPatterns, 'id'), }, visualization: visualization.getPersistableState(state.visualization.state), query: framePublicAPI.query, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx index 851a9f4653fec..94c0f4083dfee 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/change_indexpattern.tsx @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import React, { useState } from 'react'; import { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx index ae5632ddae84e..c0190221fc7ba 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { uniq, indexBy } from 'lodash'; +import { uniq, keyBy } from 'lodash'; import React, { useState, useEffect, memo, useCallback } from 'react'; import { // @ts-ignore @@ -231,7 +231,7 @@ export const InnerIndexPatternDataPanel = function InnerIndexPatternDataPanel({ const [scrollContainer, setScrollContainer] = useState(undefined); const currentIndexPattern = indexPatterns[currentIndexPatternId]; const allFields = currentIndexPattern.fields; - const fieldByName = indexBy(allFields, 'name'); + const fieldByName = keyBy(allFields, 'name'); const clearLocalState = () => setLocalState((s) => ({ ...s, nameFilter: '', typeFilter: [] })); const lazyScroll = () => { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.tsx index df49ed828a190..ebb706258cf45 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/bucket_nesting_editor.tsx @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiFormRow, EuiHorizontalRule, EuiRadio, EuiSelect, htmlIdGenerator } from '@elastic/eui'; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx index 4468686aa41ea..48e30e652fabc 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/popover_editor.tsx @@ -94,7 +94,7 @@ export function PopoverEditor(props: PopoverEditorProps) { validOperationTypes.push(...operationByField[selectedColumn.sourceField]!); } - return _.uniq( + return _.uniqBy( [ ...asOperationOptions(validOperationTypes, true), ...asOperationOptions(possibleOperationTypes, false), diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts index 89e2c753f4c76..111a113a16be7 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts @@ -57,14 +57,11 @@ function buildSuggestion({ // two match up. const layers = _.mapValues(updatedState.layers, (layer) => ({ ...layer, - columns: _.pick, Record>( - layer.columns, - layer.columnOrder - ), + columns: _.pick(layer.columns, layer.columnOrder) as Record, })); const columnOrder = layers[layerId].columnOrder; - const columnMap = layers[layerId].columns; + const columnMap = layers[layerId].columns as Record; const isMultiRow = Object.values(columnMap).some((column) => column.isBucketed); return { @@ -108,7 +105,10 @@ export function getDatasourceSuggestionsForField( // The field we're suggesting on matches an existing layer. In this case we find the layer with // the fewest configured columns and try to add the field to this table. If this layer does not // contain any layers yet, behave as if there is no layer. - const mostEmptyLayerId = _.min(layerIds, (layerId) => state.layers[layerId].columnOrder.length); + const mostEmptyLayerId = _.minBy( + layerIds, + (layerId) => state.layers[layerId].columnOrder.length + ) as string; if (state.layers[mostEmptyLayerId].columnOrder.length === 0) { return getEmptyLayerSuggestionsForField(state, mostEmptyLayerId, indexPatternId, field); } else { @@ -491,7 +491,7 @@ function createChangedNestingSuggestion(state: IndexPatternPrivateState, layerId } function getMetricColumn(indexPattern: IndexPattern, layerId: string, field: IndexPatternField) { - const operationDefinitionsMap = _.indexBy(operationDefinitions, 'type'); + const operationDefinitionsMap = _.keyBy(operationDefinitions, 'type'); const [column] = getOperationTypesForField(field) .map((type) => operationDefinitionsMap[type].buildColumn({ diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx index eea00d52a77f9..1ae10e07b0c24 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/layerpanel.tsx @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import React from 'react'; import { I18nProvider } from '@kbn/i18n/react'; import { DatasourceLayerPanelProps } from '../types'; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts index c34f4c1d23148..ad40c3a238351 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/loader.ts @@ -78,7 +78,7 @@ export async function loadInitialState({ defaultIndexPatternId?: string; }): Promise { const indexPatternRefs = await loadIndexPatternRefs(savedObjectsClient); - const requiredPatterns = _.unique( + const requiredPatterns = _.uniq( state ? Object.values(state.layers) .map((l) => l.indexPatternId) diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.ts b/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.ts index a04f71a9095c5..9e5a0f496357d 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/operations.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import { DimensionPriority, OperationMetadata } from '../../types'; import { operationDefinitionMap, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.ts b/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.ts index 3a1aaaa819dc0..51691ae18a99a 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/state_helpers.ts @@ -161,7 +161,7 @@ export function updateLayerIndexPattern( layer: IndexPatternLayer, newIndexPattern: IndexPattern ): IndexPatternLayer { - const keptColumns: IndexPatternLayer['columns'] = _.pick(layer.columns, (column) => + const keptColumns: IndexPatternLayer['columns'] = _.pickBy(layer.columns, (column) => isColumnTransferable(column, newIndexPattern) ); const newColumns: IndexPatternLayer['columns'] = _.mapValues(keptColumns, (column) => { diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/to_expression.ts b/x-pack/plugins/lens/public/indexpattern_datasource/to_expression.ts index e507bee2a898d..9473a1523b8ca 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/to_expression.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/to_expression.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import { Ast, ExpressionFunctionAST } from '@kbn/interpreter/common'; import { IndexPatternColumn } from './indexpattern'; import { operationDefinitionMap } from './operations'; diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts b/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts index fadee01e695d5..0cd92fd96c952 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/utils.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import { DraggedField } from './indexpattern'; import { BaseIndexPatternColumn, diff --git a/x-pack/plugins/lens/public/xy_visualization/xy_config_panel.tsx b/x-pack/plugins/lens/public/xy_visualization/xy_config_panel.tsx index 0ea44e469f8dd..046da6044ac08 100644 --- a/x-pack/plugins/lens/public/xy_visualization/xy_config_panel.tsx +++ b/x-pack/plugins/lens/public/xy_visualization/xy_config_panel.tsx @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButtonGroup, EuiFormRow } from '@elastic/eui'; diff --git a/x-pack/plugins/lens/public/xy_visualization/xy_visualization.tsx b/x-pack/plugins/lens/public/xy_visualization/xy_visualization.tsx index ffacfbf8555eb..872f3e08a7d98 100644 --- a/x-pack/plugins/lens/public/xy_visualization/xy_visualization.tsx +++ b/x-pack/plugins/lens/public/xy_visualization/xy_visualization.tsx @@ -31,7 +31,7 @@ function getVisualizationType(state: State): VisualizationType | 'mixed' { ); } const visualizationType = visualizationTypes.find((t) => t.id === state.layers[0].seriesType); - const seriesTypes = _.unique(state.layers.map((l) => l.seriesType)); + const seriesTypes = _.uniq(state.layers.map((l) => l.seriesType)); return visualizationType && seriesTypes.length === 1 ? visualizationType : 'mixed'; } diff --git a/x-pack/plugins/logstash/public/models/pipeline_list_item/pipeline_list_item.js b/x-pack/plugins/logstash/public/models/pipeline_list_item/pipeline_list_item.js index 3a304e467e0c0..7d541ec192e0f 100755 --- a/x-pack/plugins/logstash/public/models/pipeline_list_item/pipeline_list_item.js +++ b/x-pack/plugins/logstash/public/models/pipeline_list_item/pipeline_list_item.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { pick, capitalize } from 'lodash'; +import { pick, upperFirst } from 'lodash'; import moment from 'moment'; import { getSearchValue } from '../../lib/get_search_value'; @@ -26,7 +26,7 @@ export class PipelineListItem { if (props.lastModified) { this.lastModified = getMomentDate(props.lastModified); - this.lastModifiedHumanized = capitalize(this.lastModified.fromNow()); + this.lastModifiedHumanized = upperFirst(this.lastModified.fromNow()); } } diff --git a/x-pack/plugins/logstash/server/models/cluster/cluster.ts b/x-pack/plugins/logstash/server/models/cluster/cluster.ts index 54f03605e14d6..6bc57eae41b76 100755 --- a/x-pack/plugins/logstash/server/models/cluster/cluster.ts +++ b/x-pack/plugins/logstash/server/models/cluster/cluster.ts @@ -25,7 +25,7 @@ export class Cluster { // generate Pipeline object from elasticsearch response static fromUpstreamJSON(upstreamCluster: Record) { - const uuid = get(upstreamCluster, 'cluster_uuid'); + const uuid = get(upstreamCluster, 'cluster_uuid') as string; return new Cluster({ uuid }); } } diff --git a/x-pack/plugins/logstash/server/models/pipeline/pipeline.ts b/x-pack/plugins/logstash/server/models/pipeline/pipeline.ts index 3f2debeebeb46..8ce04c83afdbf 100755 --- a/x-pack/plugins/logstash/server/models/pipeline/pipeline.ts +++ b/x-pack/plugins/logstash/server/models/pipeline/pipeline.ts @@ -103,11 +103,11 @@ export class Pipeline { ) ); } - const id = get(upstreamPipeline, '_id'); - const description = get(upstreamPipeline, '_source.description'); - const username = get(upstreamPipeline, '_source.username'); - const pipeline = get(upstreamPipeline, '_source.pipeline'); - const settings = get>(upstreamPipeline, '_source.pipeline_settings'); + const id = get(upstreamPipeline, '_id') as string; + const description = get(upstreamPipeline, '_source.description') as string; + const username = get(upstreamPipeline, '_source.username') as string; + const pipeline = get(upstreamPipeline, '_source.pipeline') as string; + const settings = get(upstreamPipeline, '_source.pipeline_settings') as Record; const opts: PipelineOptions = { id, description, username, pipeline, settings }; diff --git a/x-pack/plugins/logstash/server/models/pipeline_list_item/pipeline_list_item.ts b/x-pack/plugins/logstash/server/models/pipeline_list_item/pipeline_list_item.ts index 98c91fca1fcca..eeb197a58f51d 100755 --- a/x-pack/plugins/logstash/server/models/pipeline_list_item/pipeline_list_item.ts +++ b/x-pack/plugins/logstash/server/models/pipeline_list_item/pipeline_list_item.ts @@ -37,9 +37,9 @@ export class PipelineListItem { static fromUpstreamJSON(pipeline: Hit) { const opts = { id: pipeline._id, - description: get(pipeline, '_source.description'), - last_modified: get(pipeline, '_source.last_modified'), - username: get(pipeline, '_source.username'), + description: get(pipeline, '_source.description') as string, + last_modified: get(pipeline, '_source.last_modified') as string, + username: get(pipeline, '_source.username') as string, }; return new PipelineListItem(opts); diff --git a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx index 550b3737963d5..fac002d0a877d 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/components/field_meta/categorical_field_meta_popover.tsx @@ -5,7 +5,6 @@ */ /* eslint-disable @typescript-eslint/consistent-type-definitions */ -import _ from 'lodash'; import React from 'react'; import { EuiFormRow, EuiSwitch, EuiSwitchEvent } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; diff --git a/x-pack/plugins/maps/public/classes/util/data_request.ts b/x-pack/plugins/maps/public/classes/util/data_request.ts index 44b7b2ffb6ae7..42c19b8c641e0 100644 --- a/x-pack/plugins/maps/public/classes/util/data_request.ts +++ b/x-pack/plugins/maps/public/classes/util/data_request.ts @@ -5,7 +5,6 @@ */ /* eslint-disable max-classes-per-file */ -import _ from 'lodash'; import { DataRequestDescriptor, DataMeta } from '../../../common/descriptor_types'; export class DataRequest { diff --git a/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts b/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts index 463d3f3b3939d..a9f0bbf47cb53 100644 --- a/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts +++ b/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts @@ -50,8 +50,8 @@ function getUniqueLayerCounts(layerCountsList: ILayerTypeCount[], mapsCount: num ); const typeCountsSum = _.sum(typeCounts); accu[type] = { - min: typeCounts.length ? _.min(typeCounts) : 0, - max: typeCounts.length ? _.max(typeCounts) : 0, + min: typeCounts.length ? (_.min(typeCounts) as number) : 0, + max: typeCounts.length ? (_.max(typeCounts) as number) : 0, avg: typeCountsSum ? typeCountsSum / mapsCount : 0, }; return accu; @@ -120,9 +120,9 @@ export function buildMapsTelemetry({ const isEmsFile = _.get(layer, 'sourceDescriptor.type') === SOURCE_TYPES.EMS_FILE; return isEmsFile && _.get(layer, 'sourceDescriptor.id'); }) - .pick((val, key) => key !== 'false') + .pickBy((val, key) => key !== 'false') .value() - ); + ) as ILayerTypeCount[]; const dataSourcesCountSum = _.sum(dataSourcesCount); const layersCountSum = _.sum(layersCount); @@ -179,10 +179,10 @@ export async function getMapsTelemetry(config: MapsConfigType) { const savedObjectsClient = getInternalRepository(); // @ts-ignore const mapSavedObjects: MapSavedObject[] = await getMapSavedObjects(savedObjectsClient); - const indexPatternSavedObjects: IIndexPattern[] = await getIndexPatternSavedObjects( + const indexPatternSavedObjects: IIndexPattern[] = (await getIndexPatternSavedObjects( // @ts-ignore savedObjectsClient - ); + )) as IIndexPattern[]; const settings: SavedObjectAttribute = { showMapVisualizationTypes: config.showMapVisualizationTypes, }; diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container_service.js b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container_service.js index 8b30dccc25306..898e29a303881 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container_service.js +++ b/x-pack/plugins/ml/public/application/explorer/explorer_charts/explorer_charts_container_service.js @@ -560,7 +560,7 @@ function calculateChartRange( // Calculate the time range for the charts. // Fit in as many points in the available container width plotted at the job bucket span. const midpointMs = Math.ceil((earliestMs + latestMs) / 2); - const maxBucketSpanMs = Math.max.apply(null, _.pluck(seriesConfigs, 'bucketSpanSeconds')) * 1000; + const maxBucketSpanMs = Math.max.apply(null, _.map(seriesConfigs, 'bucketSpanSeconds')) * 1000; const pointsToPlotFullSelection = Math.ceil((latestMs - earliestMs) / maxBucketSpanMs); diff --git a/x-pack/plugins/ml/public/application/util/string_utils.js b/x-pack/plugins/ml/public/application/util/string_utils.js index 450c166f90300..7411820ba3239 100644 --- a/x-pack/plugins/ml/public/application/util/string_utils.js +++ b/x-pack/plugins/ml/public/application/util/string_utils.js @@ -91,7 +91,7 @@ export function sortByKey(list, reverse, comparator) { keys = keys.reverse(); } - return _.object( + return _.zipObject( keys, _.map(keys, (key) => { return list[key]; diff --git a/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts b/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts index 43581ad75fb17..f895868f3ae61 100644 --- a/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts +++ b/x-pack/plugins/ml/server/models/data_visualizer/data_visualizer.ts @@ -143,7 +143,7 @@ export class DataVisualizer { // split the check into multiple batches (max 200 fields per request). const batches: string[][] = [[]]; _.each(aggregatableFields, (field) => { - let lastArray: string[] = _.last(batches); + let lastArray: string[] = _.last(batches) as string[]; if (lastArray.length === AGGREGATABLE_EXISTS_REQUEST_BATCH_SIZE) { lastArray = []; batches.push(lastArray); @@ -229,7 +229,7 @@ export class DataVisualizer { if (batchedFields[fieldType] === undefined) { batchedFields[fieldType] = [[]]; } - let lastArray: Field[] = _.last(batchedFields[fieldType]); + let lastArray: Field[] = _.last(batchedFields[fieldType]) as Field[]; if (lastArray.length === FIELDS_REQUEST_BATCH_SIZE) { lastArray = []; batchedFields[fieldType].push(lastArray); @@ -867,7 +867,7 @@ export class DataVisualizer { [...aggsPath, `${safeFieldName}_values`, 'buckets'], [] ); - _.each(valueBuckets, (bucket) => { + _.forEach(valueBuckets, (bucket) => { stats[`${bucket.key_as_string}Count`] = bucket.doc_count; }); @@ -958,7 +958,7 @@ export class DataVisualizer { // Look ahead to the last percentiles and process these too if // they don't add more than 50% to the value range. - const lastValue = _.last(percentileBuckets).value; + const lastValue = (_.last(percentileBuckets) as any).value; const upperBound = lowerBound + 1.5 * (lastValue - lowerBound); const filteredLength = percentileBuckets.length; for (let i = filteredLength; i < percentiles.length; i++) { @@ -979,7 +979,7 @@ export class DataVisualizer { // Add in 0-5 and 95-100% if they don't add more // than 25% to the value range at either end. - const lastValue: number = _.last(percentileBuckets).value; + const lastValue: number = (_.last(percentileBuckets) as any).value; const maxDiff = 0.25 * (lastValue - lowerBound); if (lowerBound - dataMin < maxDiff) { percentileBuckets.splice(0, 0, percentiles[0]); diff --git a/x-pack/plugins/monitoring/public/angular/app_modules.ts b/x-pack/plugins/monitoring/public/angular/app_modules.ts index 726d4be4924d7..9ebb074ec7c3b 100644 --- a/x-pack/plugins/monitoring/public/angular/app_modules.ts +++ b/x-pack/plugins/monitoring/public/angular/app_modules.ts @@ -10,7 +10,7 @@ import '../views/all'; import 'angular-sanitize'; import 'angular-route'; import '../index.scss'; -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; import { i18nDirective, i18nFilter, I18nProvider } from '@kbn/i18n/angular'; import { AppMountContext } from 'kibana/public'; import { Storage } from '../../../../../src/plugins/kibana_utils/public'; @@ -159,7 +159,7 @@ function createMonitoringAppFilters() { .module('monitoring/filters', []) .filter('capitalize', function () { return function (input: string) { - return capitalize(input?.toLowerCase()); + return upperFirst(input?.toLowerCase()); }; }) .filter('formatNumber', function () { diff --git a/x-pack/plugins/monitoring/public/components/alerts/alerts.js b/x-pack/plugins/monitoring/public/components/alerts/alerts.js index b3fc70e9ffd7d..59e838c449a3b 100644 --- a/x-pack/plugins/monitoring/public/components/alerts/alerts.js +++ b/x-pack/plugins/monitoring/public/components/alerts/alerts.js @@ -6,7 +6,7 @@ import React from 'react'; import { Legacy } from '../../legacy_shims'; -import { capitalize, get } from 'lodash'; +import { upperFirst, get } from 'lodash'; import { formatDateTimeLocal } from '../../../common/formatting'; import { formatTimestampToDuration } from '../../../common'; import { @@ -55,7 +55,7 @@ const getColumns = (timezone) => [ data-test-subj="alertIcon" aria-label={severityIcon.title} > - {capitalize(severityIcon.value)} + {upperFirst(severityIcon.value)} ); diff --git a/x-pack/plugins/monitoring/public/components/alerts/map_severity.js b/x-pack/plugins/monitoring/public/components/alerts/map_severity.js index b76f4eb5b75a7..8232e0a8908d0 100644 --- a/x-pack/plugins/monitoring/public/components/alerts/map_severity.js +++ b/x-pack/plugins/monitoring/public/components/alerts/map_severity.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; /** * Map the {@code severity} value to the associated alert level to be usable within the UI. @@ -68,7 +68,7 @@ export function mapSeverity(severity) { return { title: i18n.translate('xpack.monitoring.alerts.severityTitle', { defaultMessage: '{severity} severity alert', - values: { severity: capitalize(mapped.value) }, + values: { severity: upperFirst(mapped.value) }, }), ...mapped, }; diff --git a/x-pack/plugins/monitoring/public/components/elasticsearch/shard_allocation/lib/decorate_shards.js b/x-pack/plugins/monitoring/public/components/elasticsearch/shard_allocation/lib/decorate_shards.js index 9c5981585a8de..9acfce1e8c0b9 100644 --- a/x-pack/plugins/monitoring/public/components/elasticsearch/shard_allocation/lib/decorate_shards.js +++ b/x-pack/plugins/monitoring/public/components/elasticsearch/shard_allocation/lib/decorate_shards.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { capitalize, find, get, includes } from 'lodash'; +import { upperFirst, find, get, includes } from 'lodash'; import { i18n } from '@kbn/i18n'; export function decorateShards(shards, nodes) { @@ -40,7 +40,7 @@ export function decorateShards(shards, nodes) { ); } } - return capitalize(shard.state.toLowerCase()); + return upperFirst(shard.state.toLowerCase()); } return shards.map((shard) => { diff --git a/x-pack/plugins/monitoring/public/components/logs/logs.js b/x-pack/plugins/monitoring/public/components/logs/logs.js index 0ab3683f4b72f..297ce49f1f148 100644 --- a/x-pack/plugins/monitoring/public/components/logs/logs.js +++ b/x-pack/plugins/monitoring/public/components/logs/logs.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import React, { PureComponent } from 'react'; -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; import { Legacy } from '../../legacy_shims'; import { EuiBasicTable, EuiTitle, EuiSpacer, EuiText, EuiCallOut, EuiLink } from '@elastic/eui'; import { INFRA_SOURCE_ID } from '../../../common/constants'; @@ -59,7 +59,7 @@ const columns = [ field: 'type', name: columnTypeTitle, width: '10%', - render: (type) => capitalize(type), + render: (type) => upperFirst(type), }, { field: 'message', @@ -89,7 +89,7 @@ const clusterColumns = [ field: 'type', name: columnTypeTitle, width: '10%', - render: (type) => capitalize(type), + render: (type) => upperFirst(type), }, { field: 'message', diff --git a/x-pack/plugins/monitoring/public/lib/ajax_error_handler.tsx b/x-pack/plugins/monitoring/public/lib/ajax_error_handler.tsx index 14f838cff7a3c..12bd3a7575cf2 100644 --- a/x-pack/plugins/monitoring/public/lib/ajax_error_handler.tsx +++ b/x-pack/plugins/monitoring/public/lib/ajax_error_handler.tsx @@ -5,7 +5,7 @@ */ import React from 'react'; -import { contains } from 'lodash'; +import { includes } from 'lodash'; import { EuiButton, EuiSpacer, EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { Legacy } from '../legacy_shims'; @@ -38,7 +38,7 @@ export function ajaxErrorHandlersProvider() { if (err.status === 403) { // redirect to error message view history.replaceState(null, '', '#/access-denied'); - } else if (err.status === 404 && !contains(window.location.hash, 'no-data')) { + } else if (err.status === 404 && !includes(window.location.hash, 'no-data')) { // pass through if this is a 404 and we're already on the no-data page Legacy.shims.toastNotifications.addDanger({ title: toMountPoint( diff --git a/x-pack/plugins/monitoring/public/lib/form_validation.ts b/x-pack/plugins/monitoring/public/lib/form_validation.ts index 98d56f9790be4..2255022dcece0 100644 --- a/x-pack/plugins/monitoring/public/lib/form_validation.ts +++ b/x-pack/plugins/monitoring/public/lib/form_validation.ts @@ -5,13 +5,13 @@ */ import { i18n } from '@kbn/i18n'; -import { isString, isNumber, capitalize } from 'lodash'; +import { isString, isNumber, upperFirst } from 'lodash'; export function getRequiredFieldError(field: string): string { return i18n.translate('xpack.monitoring.alerts.migrate.manageAction.requiredFieldError', { defaultMessage: '{field} is a required field.', values: { - field: capitalize(field), + field: upperFirst(field), }, }); } diff --git a/x-pack/plugins/monitoring/public/lib/route_init.js b/x-pack/plugins/monitoring/public/lib/route_init.js index 9467535d556b0..163688d772022 100644 --- a/x-pack/plugins/monitoring/public/lib/route_init.js +++ b/x-pack/plugins/monitoring/public/lib/route_init.js @@ -13,7 +13,7 @@ export function routeInitProvider(Private, monitoringClusters, globalState, lice const ajaxErrorHandlers = Private(ajaxErrorHandlersProvider); function isOnPage(hash) { - return _.contains(window.location.hash, hash); + return _.includes(window.location.hash, hash); } /* diff --git a/x-pack/plugins/monitoring/public/lib/setup_mode.tsx b/x-pack/plugins/monitoring/public/lib/setup_mode.tsx index 5afb382b7cda8..2a4caf17515e1 100644 --- a/x-pack/plugins/monitoring/public/lib/setup_mode.tsx +++ b/x-pack/plugins/monitoring/public/lib/setup_mode.tsx @@ -6,14 +6,14 @@ import React from 'react'; import { render } from 'react-dom'; -import { get, contains } from 'lodash'; +import { get, includes } from 'lodash'; import { i18n } from '@kbn/i18n'; import { Legacy } from '../legacy_shims'; import { ajaxErrorHandlersProvider } from './ajax_error_handler'; import { SetupModeEnterButton } from '../components/setup_mode/enter_button'; function isOnPage(hash: string) { - return contains(window.location.hash, hash); + return includes(window.location.hash, hash); } interface IAngularState { diff --git a/x-pack/plugins/monitoring/public/services/license.js b/x-pack/plugins/monitoring/public/services/license.js index 341309004b110..caa21cd8ee8d7 100644 --- a/x-pack/plugins/monitoring/public/services/license.js +++ b/x-pack/plugins/monitoring/public/services/license.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { contains } from 'lodash'; +import { includes } from 'lodash'; import { ML_SUPPORTED_LICENSES } from '../../common/constants'; export function licenseProvider() { @@ -27,7 +27,7 @@ export function licenseProvider() { } mlIsSupported() { - return contains(ML_SUPPORTED_LICENSES, this.license.type); + return includes(ML_SUPPORTED_LICENSES, this.license.type); } doesExpire() { diff --git a/x-pack/plugins/monitoring/server/lib/apm/get_apm_info.js b/x-pack/plugins/monitoring/server/lib/apm/get_apm_info.js index c3fbe266be6d6..cc3682ef764c8 100644 --- a/x-pack/plugins/monitoring/server/lib/apm/get_apm_info.js +++ b/x-pack/plugins/monitoring/server/lib/apm/get_apm_info.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { get, capitalize } from 'lodash'; +import { get, upperFirst } from 'lodash'; import { checkParam } from '../error_missing_required'; import { createQuery } from '../create_query'; import { getDiffCalculation } from '../beats/_beats_stats'; @@ -33,8 +33,8 @@ export function handleResponse(response, apmUuid) { transportAddress: get(stats, 'beat.host', null), version: get(stats, 'beat.version', null), name: get(stats, 'beat.name', null), - type: capitalize(get(stats, 'beat.type')) || null, - output: capitalize(get(stats, 'metrics.libbeat.output.type')) || null, + type: upperFirst(get(stats, 'beat.type')) || null, + output: upperFirst(get(stats, 'metrics.libbeat.output.type')) || null, configReloads: get(stats, 'metrics.libbeat.config.reloads', null), uptime: get(stats, 'metrics.beat.info.uptime.ms', null), eventsTotal: getDiffCalculation(eventsTotalLast, eventsTotalFirst), diff --git a/x-pack/plugins/monitoring/server/lib/apm/get_apms.js b/x-pack/plugins/monitoring/server/lib/apm/get_apms.js index 40070a6b0d0f2..19ed8298391d7 100644 --- a/x-pack/plugins/monitoring/server/lib/apm/get_apms.js +++ b/x-pack/plugins/monitoring/server/lib/apm/get_apms.js @@ -5,7 +5,7 @@ */ import moment from 'moment'; -import { capitalize, get } from 'lodash'; +import { upperFirst, get } from 'lodash'; import { checkParam } from '../error_missing_required'; import { createApmQuery } from './create_apm_query'; import { calculateRate } from '../calculate_rate'; @@ -59,8 +59,8 @@ export function handleResponse(response, start, end) { accum.beats.push({ uuid: get(stats, 'beat.uuid'), name: get(stats, 'beat.name'), - type: capitalize(get(stats, 'beat.type')), - output: capitalize(get(stats, 'metrics.libbeat.output.type')), + type: upperFirst(get(stats, 'beat.type')), + output: upperFirst(get(stats, 'metrics.libbeat.output.type')), total_events_rate: totalEventsRate, bytes_sent_rate: bytesSentRate, errors, diff --git a/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.js b/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.js index cf5a99525cc4c..9508260a64139 100644 --- a/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.js +++ b/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { capitalize, get } from 'lodash'; +import { upperFirst, get } from 'lodash'; export const getDiffCalculation = (max, min) => { // no need to test max >= 0, but min <= 0 which is normal for a derivative after restart @@ -105,7 +105,7 @@ export const beatsAggResponseHandler = (response) => { return [ ...types, { - type: capitalize(typeBucket.key), + type: upperFirst(typeBucket.key), count: get(typeBucket, 'uuids.buckets.length'), }, ]; diff --git a/x-pack/plugins/monitoring/server/lib/beats/get_beat_summary.js b/x-pack/plugins/monitoring/server/lib/beats/get_beat_summary.js index 06f6cf4f1a5e0..30ec728546ce9 100644 --- a/x-pack/plugins/monitoring/server/lib/beats/get_beat_summary.js +++ b/x-pack/plugins/monitoring/server/lib/beats/get_beat_summary.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { capitalize, get } from 'lodash'; +import { upperFirst, get } from 'lodash'; import { checkParam } from '../error_missing_required'; import { createBeatsQuery } from './create_beats_query.js'; import { getDiffCalculation } from './_beats_stats'; @@ -33,8 +33,8 @@ export function handleResponse(response, beatUuid) { transportAddress: get(stats, 'beat.host', null), version: get(stats, 'beat.version', null), name: get(stats, 'beat.name', null), - type: capitalize(get(stats, 'beat.type')) || null, - output: capitalize(get(stats, 'metrics.libbeat.output.type')) || null, + type: upperFirst(get(stats, 'beat.type')) || null, + output: upperFirst(get(stats, 'metrics.libbeat.output.type')) || null, configReloads: get(stats, 'metrics.libbeat.config.reloads', null), uptime: get(stats, 'metrics.beat.info.uptime.ms', null), eventsTotal: getDiffCalculation(eventsTotalLast, eventsTotalFirst), diff --git a/x-pack/plugins/monitoring/server/lib/beats/get_beats.js b/x-pack/plugins/monitoring/server/lib/beats/get_beats.js index ef878e4892557..a5d43d1da7ebc 100644 --- a/x-pack/plugins/monitoring/server/lib/beats/get_beats.js +++ b/x-pack/plugins/monitoring/server/lib/beats/get_beats.js @@ -5,7 +5,7 @@ */ import moment from 'moment'; -import { capitalize, get } from 'lodash'; +import { upperFirst, get } from 'lodash'; import { checkParam } from '../error_missing_required'; import { createBeatsQuery } from './create_beats_query'; import { calculateRate } from '../calculate_rate'; @@ -59,8 +59,8 @@ export function handleResponse(response, start, end) { accum.beats.push({ uuid: get(stats, 'beat.uuid'), name: get(stats, 'beat.name'), - type: capitalize(get(stats, 'beat.type')), - output: capitalize(get(stats, 'metrics.libbeat.output.type')), + type: upperFirst(get(stats, 'beat.type')), + output: upperFirst(get(stats, 'metrics.libbeat.output.type')), total_events_rate: totalEventsRate, bytes_sent_rate: bytesSentRate, errors, diff --git a/x-pack/plugins/monitoring/server/lib/beats/get_latest_stats.js b/x-pack/plugins/monitoring/server/lib/beats/get_latest_stats.js index f630903d4e29d..10a75b9d1ca85 100644 --- a/x-pack/plugins/monitoring/server/lib/beats/get_latest_stats.js +++ b/x-pack/plugins/monitoring/server/lib/beats/get_latest_stats.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { capitalize, get } from 'lodash'; +import { upperFirst, get } from 'lodash'; import { checkParam } from '../error_missing_required'; import { createBeatsQuery } from './create_beats_query'; @@ -47,7 +47,7 @@ export function handleResponse(response) { return [ ...accum, { - type: capitalize(current.key), + type: upperFirst(current.key), count: get(current, 'uuids.buckets.length'), }, ]; diff --git a/x-pack/plugins/monitoring/server/lib/elasticsearch/get_ml_jobs.js b/x-pack/plugins/monitoring/server/lib/elasticsearch/get_ml_jobs.js index c6575393590f0..74d4bd6d2b5df 100644 --- a/x-pack/plugins/monitoring/server/lib/elasticsearch/get_ml_jobs.js +++ b/x-pack/plugins/monitoring/server/lib/elasticsearch/get_ml_jobs.js @@ -5,7 +5,7 @@ */ import Bluebird from 'bluebird'; -import { contains, get } from 'lodash'; +import { includes, get } from 'lodash'; import { checkParam } from '../error_missing_required'; import { createQuery } from '../create_query'; import { ElasticsearchMetric } from '../metrics'; @@ -59,7 +59,7 @@ export function getMlJobs(req, esIndexPattern) { export function getMlJobsForCluster(req, esIndexPattern, cluster) { const license = get(cluster, 'license', {}); - if (license.status === 'active' && contains(ML_SUPPORTED_LICENSES, license.type)) { + if (license.status === 'active' && includes(ML_SUPPORTED_LICENSES, license.type)) { // ML is supported const start = req.payload.timeRange.min; // no wrapping in moment :) const end = req.payload.timeRange.max; diff --git a/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/map_nodes_metrics.js b/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/map_nodes_metrics.js index 4e5e439ff90d5..d1a7aec2f153f 100644 --- a/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/map_nodes_metrics.js +++ b/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/map_nodes_metrics.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { get, pluck, min, max, last } from 'lodash'; +import { get, map, min, max, last } from 'lodash'; import { filterPartialBuckets } from '../../../filter_partial_buckets'; import { metrics } from '../../../metrics'; @@ -76,14 +76,14 @@ function reduceMetric(metricName, metricBuckets, { min: startTime, max: endTime, /* it's possible that no data exists for the type of metric. For example, * node_cgroup_throttled data could be completely null if there is no cgroup * throttling. */ - const allValues = pluck(mappedData, 'y'); + const allValues = map(mappedData, 'y'); if (allValues.join(',') === '') { return; // no data exists for this type of metric } - const minVal = min(pluck(mappedData, 'y')); - const maxVal = max(pluck(mappedData, 'y')); - const lastVal = last(pluck(mappedData, 'y')); + const minVal = min(map(mappedData, 'y')); + const maxVal = max(map(mappedData, 'y')); + const lastVal = last(map(mappedData, 'y')); const slope = calcSlope(mappedData) > 0 ? 1 : -1; // no need for the entire precision, it's just an up/down arrow return { diff --git a/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/sort_nodes.js b/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/sort_nodes.js index 8782875775530..39855e7f10eaf 100644 --- a/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/sort_nodes.js +++ b/x-pack/plugins/monitoring/server/lib/elasticsearch/nodes/get_nodes/sort_nodes.js @@ -3,12 +3,12 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; export function sortNodes(nodes, sort) { if (!sort || !sort.field) { return nodes; } - return sortByOrder(nodes, (node) => node[sort.field], sort.direction); + return orderBy(nodes, (node) => node[sort.field], sort.direction); } diff --git a/x-pack/plugins/monitoring/server/lib/logstash/sort_pipelines.js b/x-pack/plugins/monitoring/server/lib/logstash/sort_pipelines.js index 2a5c15ece4b40..e4a36fdf35daf 100644 --- a/x-pack/plugins/monitoring/server/lib/logstash/sort_pipelines.js +++ b/x-pack/plugins/monitoring/server/lib/logstash/sort_pipelines.js @@ -3,12 +3,12 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; export function sortPipelines(pipelines, sort) { if (!sort) { return pipelines; } - return sortByOrder(pipelines, (pipeline) => pipeline[sort.field], sort.direction); + return orderBy(pipelines, (pipeline) => pipeline[sort.field], sort.direction); } diff --git a/x-pack/plugins/oss_telemetry/server/lib/tasks/visualizations/task_runner.ts b/x-pack/plugins/oss_telemetry/server/lib/tasks/visualizations/task_runner.ts index 5f7f70ee5d62a..19e829544e5e7 100644 --- a/x-pack/plugins/oss_telemetry/server/lib/tasks/visualizations/task_runner.ts +++ b/x-pack/plugins/oss_telemetry/server/lib/tasks/visualizations/task_runner.ts @@ -40,7 +40,7 @@ async function getStats(callCluster: APICaller, index: string) { }, }; const esResponse = await callCluster('search', searchParams); - const size = _.get(esResponse, 'hits.hits.length'); + const size = _.get(esResponse, 'hits.hits.length') as number; if (size < 1) { return; } diff --git a/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx b/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx index 37441edce0af8..d0800c7b24fef 100644 --- a/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx +++ b/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx @@ -5,6 +5,7 @@ */ import dateMath from '@elastic/datemath'; import { i18n } from '@kbn/i18n'; +import _ from 'lodash'; import moment from 'moment-timezone'; import { CoreSetup } from 'src/core/public'; import { Action, IncompatibleActionError } from '../../../../../src/plugins/ui_actions/public'; diff --git a/x-pack/plugins/reporting/server/browsers/chromium/driver/chromium_driver.ts b/x-pack/plugins/reporting/server/browsers/chromium/driver/chromium_driver.ts index 898b123e976fd..bca9496bc9add 100644 --- a/x-pack/plugins/reporting/server/browsers/chromium/driver/chromium_driver.ts +++ b/x-pack/plugins/reporting/server/browsers/chromium/driver/chromium_driver.ts @@ -5,7 +5,7 @@ */ import { i18n } from '@kbn/i18n'; -import { map, trunc } from 'lodash'; +import { map, truncate } from 'lodash'; import open from 'opn'; import { ElementHandle, EvaluateFn, Page, Response, SerializableOrJSHandle } from 'puppeteer'; import { parse as parseUrl } from 'url'; @@ -70,7 +70,7 @@ export class HeadlessChromiumDriver { } private truncateUrl(url: string) { - return trunc(url, { + return truncate(url, { length: 100, omission: '[truncated]', }); diff --git a/x-pack/plugins/reporting/server/config/create_config.ts b/x-pack/plugins/reporting/server/config/create_config.ts index 5c66bd599dd9a..3c892fe6120af 100644 --- a/x-pack/plugins/reporting/server/config/create_config.ts +++ b/x-pack/plugins/reporting/server/config/create_config.ts @@ -6,7 +6,7 @@ import { i18n } from '@kbn/i18n/'; import crypto from 'crypto'; -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; import { Observable } from 'rxjs'; import { map, mergeMap } from 'rxjs/operators'; import { CoreSetup } from 'src/core/server'; @@ -84,7 +84,7 @@ export function createConfig$( // disableSandbox was not set by user, apply default for OS const { os, disableSandbox } = await getDefaultChromiumSandboxDisabled(); - const osName = [os.os, os.dist, os.release].filter(Boolean).map(capitalize).join(' '); + const osName = [os.os, os.dist, os.release].filter(Boolean).map(upperFirst).join(' '); logger.debug( i18n.translate('xpack.reporting.serverConfig.osDetected', { diff --git a/x-pack/plugins/reporting/server/export_types/common/execute_job/omit_blacklisted_headers.ts b/x-pack/plugins/reporting/server/export_types/common/execute_job/omit_blacklisted_headers.ts index 5147881a980ea..be4f760159319 100644 --- a/x-pack/plugins/reporting/server/export_types/common/execute_job/omit_blacklisted_headers.ts +++ b/x-pack/plugins/reporting/server/export_types/common/execute_job/omit_blacklisted_headers.ts @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { omit } from 'lodash'; +import { omitBy } from 'lodash'; import { KBN_SCREENSHOT_HEADER_BLACKLIST, KBN_SCREENSHOT_HEADER_BLACKLIST_STARTS_WITH_PATTERN, @@ -16,7 +16,7 @@ export const omitBlacklistedHeaders = ({ job: JobDocPayloadType; decryptedHeaders: Record; }) => { - const filteredHeaders: Record = omit( + const filteredHeaders: Record = omitBy( decryptedHeaders, (_value, header: string) => header && diff --git a/x-pack/plugins/reporting/server/export_types/csv/server/lib/flatten_hit.ts b/x-pack/plugins/reporting/server/export_types/csv/server/lib/flatten_hit.ts index a4c634439ec45..acfae5138154c 100644 --- a/x-pack/plugins/reporting/server/export_types/csv/server/lib/flatten_hit.ts +++ b/x-pack/plugins/reporting/server/export_types/csv/server/lib/flatten_hit.ts @@ -30,7 +30,7 @@ export function createFlattenHit( } else if (_.isArray(flat[key])) { flat[key].push(val); } else { - flat[key] = [flat[key], val]; + flat[key] = [flat[key], val] as any; } return; } @@ -49,7 +49,7 @@ export function createFlattenHit( const flattenFields = (flat: FlatHits, hitFields: string[]) => { _.forOwn(hitFields, (val, key) => { if (key) { - if (key[0] === '_' && !_.contains(metaFields, key)) return; + if (key[0] === '_' && !_.includes(metaFields, key)) return; flat[key] = _.isArray(val) && val.length === 1 ? val[0] : val; } }); diff --git a/x-pack/plugins/reporting/server/usage/get_reporting_usage.ts b/x-pack/plugins/reporting/server/usage/get_reporting_usage.ts index 2a6d08c0740dd..213bea3bc3eec 100644 --- a/x-pack/plugins/reporting/server/usage/get_reporting_usage.ts +++ b/x-pack/plugins/reporting/server/usage/get_reporting_usage.ts @@ -13,11 +13,9 @@ import { decorateRangeStats } from './decorate_range_stats'; import { getExportTypesHandler } from './get_export_type_handler'; import { AggregationResultBuckets, - AppCounts, FeatureAvailabilityMap, JobTypes, KeyCountBucket, - LayoutCounts, RangeStats, ReportingUsageType, SearchResponse, @@ -75,21 +73,21 @@ function getAggStats(aggs: AggregationResultBuckets): Partial { // merge pdf stats into pdf jobtype key const pdfJobs = jobTypes[PRINTABLE_PDF_JOBTYPE]; if (pdfJobs) { - const pdfAppBuckets = get(aggs[OBJECT_TYPES_KEY], '.pdf.buckets', []); - const pdfLayoutBuckets = get(aggs[LAYOUT_TYPES_KEY], '.pdf.buckets', []); - pdfJobs.app = getKeyCount(pdfAppBuckets); - pdfJobs.layout = getKeyCount(pdfLayoutBuckets); + const pdfAppBuckets = get(aggs[OBJECT_TYPES_KEY], 'pdf.buckets', []); + const pdfLayoutBuckets = get(aggs[LAYOUT_TYPES_KEY], 'pdf.buckets', []); + pdfJobs.app = getKeyCount(pdfAppBuckets); + pdfJobs.layout = getKeyCount(pdfLayoutBuckets); } const all = aggs.doc_count; let statusTypes = {}; - const statusBuckets = get(aggs[STATUS_TYPES_KEY], 'buckets', []); + const statusBuckets = get(aggs[STATUS_TYPES_KEY], 'buckets', []); if (statusBuckets) { statusTypes = getKeyCount(statusBuckets); } let statusByApp = {}; - const statusAppBuckets = get(aggs[STATUS_BY_APP_KEY], 'buckets', []); + const statusAppBuckets = get(aggs[STATUS_BY_APP_KEY], 'buckets', []); if (statusAppBuckets) { statusByApp = getAppStatuses(statusAppBuckets); } @@ -97,18 +95,16 @@ function getAggStats(aggs: AggregationResultBuckets): Partial { return { _all: all, status: statusTypes, statuses: statusByApp, ...jobTypes }; } -type SearchAggregation = SearchResponse['aggregations']['ranges']['buckets']; - type RangeStatSets = Partial & { last7Days: Partial; }; async function handleResponse(response: SearchResponse): Promise> { - const buckets = get(response, 'aggregations.ranges.buckets'); + const buckets = get(response, 'aggregations.ranges.buckets'); if (!buckets) { return {}; } - const { last7Days, all } = buckets; + const { last7Days, all } = buckets as any; const last7DaysUsage = last7Days ? getAggStats(last7Days) : {}; const allUsage = all ? getAggStats(all) : {}; diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js index 151eff31f8a01..c3f71dfdf7fd6 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js @@ -6,10 +6,10 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import mapValues from 'lodash/object/mapValues'; -import cloneDeep from 'lodash/lang/cloneDeep'; -import debounce from 'lodash/function/debounce'; -import first from 'lodash/array/first'; +import mapValues from 'lodash/mapValues'; +import cloneDeep from 'lodash/cloneDeep'; +import debounce from 'lodash/debounce'; +import first from 'lodash/first'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js index d70fbb89c065d..56af1617a36a1 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js @@ -8,7 +8,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import get from 'lodash/object/get'; +import get from 'lodash/get'; import { EuiButtonEmpty, diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js index 3a61518a850e9..91a722e9c5f82 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js @@ -4,9 +4,9 @@ * you may not use this file except in compliance with the Elastic License. */ -import cloneDeep from 'lodash/lang/cloneDeep'; -import get from 'lodash/object/get'; -import pick from 'lodash/object/pick'; +import cloneDeep from 'lodash/cloneDeep'; +import get from 'lodash/get'; +import pick from 'lodash/pick'; import { WEEK } from '../../../../../../../../src/plugins/es_ui_shared/public'; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js index aa95bbbd9cf0d..4765bbb75a706 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js @@ -9,7 +9,7 @@ import { mockHttpRequest, pageHelpers, nextTick } from './helpers'; import { JOB_TO_CLONE, JOB_CLONE_INDEX_PATTERN_CHECK } from './helpers/constants'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); const { setup } = pageHelpers.jobClone; const { diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js index 8791b5173b893..21d488b9d6c03 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js @@ -10,7 +10,7 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js index 50898f94586fc..9d1cbf104c10c 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js @@ -8,7 +8,7 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js index a1edf87c33bad..7d81d62b9a755 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js @@ -17,7 +17,7 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js index 7f58482d35b19..6fad36387ddfc 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js @@ -8,7 +8,7 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js index 59118ef6f8ec3..5dd4165e8788e 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js @@ -10,7 +10,7 @@ import { setHttp } from '../../crud_app/services'; import { JOBS } from './helpers/constants'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); jest.mock('../../kibana_services', () => { const services = require.requireActual('../../kibana_services'); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js index f21fc2c12a007..72b72ce60bc64 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js @@ -8,7 +8,7 @@ import { setHttp } from '../../crud_app/services'; import { pageHelpers, mockHttpRequest } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js index 53a3af38f3235..a5021b0a37c84 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js @@ -10,7 +10,7 @@ import { getRouter } from '../../crud_app/services/routing'; import { setHttp } from '../../crud_app/services'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/function/debounce', () => (fn) => fn); +jest.mock('lodash/debounce', () => (fn) => fn); jest.mock('../../kibana_services', () => { const services = require.requireActual('../../kibana_services'); diff --git a/x-pack/plugins/rollup/server/collectors/register.ts b/x-pack/plugins/rollup/server/collectors/register.ts index 629dd8b180fdd..53443ee572dd3 100644 --- a/x-pack/plugins/rollup/server/collectors/register.ts +++ b/x-pack/plugins/rollup/server/collectors/register.ts @@ -50,7 +50,7 @@ async function fetchRollupIndexPatterns(kibanaIndex: string, callCluster: CallCl const esResponse = await callCluster('search', searchParams); - return get(esResponse, 'hits.hits', []).map((indexPattern) => { + return get(esResponse, 'hits.hits', []).map((indexPattern: any) => { const { _id: savedObjectId } = indexPattern; return getIdFromSavedObjectId(savedObjectId); }); @@ -83,7 +83,7 @@ async function fetchRollupSavedSearches( const savedSearches = get(esResponse, 'hits.hits', []); // Filter for ones with rollup index patterns. - return savedSearches.reduce((rollupSavedSearches, savedSearch) => { + return savedSearches.reduce((rollupSavedSearches: any, savedSearch: any) => { const { _id: savedObjectId, _source: { @@ -138,7 +138,7 @@ async function fetchRollupVisualizations( let rollupVisualizations = 0; let rollupVisualizationsFromSavedSearches = 0; - visualizations.forEach((visualization) => { + visualizations.forEach((visualization: any) => { const { _source: { visualization: { @@ -153,7 +153,7 @@ async function fetchRollupVisualizations( if (savedSearchRefName) { // This visualization depends upon a saved search. - const savedSearch = references.find((ref) => ref.name === savedSearchRefName); + const savedSearch = references.find((ref: any) => ref.name === savedSearchRefName); if (rollupSavedSearchesToFlagMap[savedSearch.id]) { rollupVisualizations++; rollupVisualizationsFromSavedSearches++; diff --git a/x-pack/plugins/rollup/server/lib/search_strategies/rollup_search_strategy.ts b/x-pack/plugins/rollup/server/lib/search_strategies/rollup_search_strategy.ts index 815fe163411b3..885836780f1a9 100644 --- a/x-pack/plugins/rollup/server/lib/search_strategies/rollup_search_strategy.ts +++ b/x-pack/plugins/rollup/server/lib/search_strategies/rollup_search_strategy.ts @@ -3,7 +3,7 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import { indexBy, isString } from 'lodash'; +import { keyBy, isString } from 'lodash'; import { KibanaRequest } from 'src/core/server'; import { CallWithRequestFactoryShim } from '../../types'; @@ -74,7 +74,7 @@ export const getRollupSearchStrategy = ( }: { fieldsCapabilities: { [key: string]: any }; rollupIndex: string } ) { const fields = await super.getFieldsForWildcard(req, indexPattern); - const fieldsFromFieldCapsApi = indexBy(fields, 'name'); + const fieldsFromFieldCapsApi = keyBy(fields, 'name'); const rollupIndexCapabilities = fieldsCapabilities[rollupIndex].aggs; return mergeCapabilitiesWithFields(rollupIndexCapabilities, fieldsFromFieldCapsApi); diff --git a/x-pack/plugins/rollup/server/routes/api/index_patterns/register_fields_for_wildcard_route.ts b/x-pack/plugins/rollup/server/routes/api/index_patterns/register_fields_for_wildcard_route.ts index 546d9d628277f..250947d72c5fa 100644 --- a/x-pack/plugins/rollup/server/routes/api/index_patterns/register_fields_for_wildcard_route.ts +++ b/x-pack/plugins/rollup/server/routes/api/index_patterns/register_fields_for_wildcard_route.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; import { schema } from '@kbn/config-schema'; import { Field } from '../../../lib/merge_capabilities_with_fields'; import { RouteDependencies } from '../../../types'; @@ -111,7 +111,7 @@ export const registerFieldsForWildcardRoute = ({ const parsedParams = JSON.parse(params); const rollupIndex = parsedParams.rollup_index; const rollupFields: Field[] = []; - const fieldsFromFieldCapsApi: { [key: string]: any } = indexBy(fields, 'name'); + const fieldsFromFieldCapsApi: { [key: string]: any } = keyBy(fields, 'name'); const rollupIndexCapabilities = getCapabilitiesForRollupIndices( await context.rollup!.client.callAsCurrentUser('rollup.rollupIndexCapabilities', { indexPattern: rollupIndex, diff --git a/x-pack/plugins/searchprofiler/public/application/components/profile_tree/init_data.ts b/x-pack/plugins/searchprofiler/public/application/components/profile_tree/init_data.ts index f5daa6b38de48..e4dded600dcf2 100644 --- a/x-pack/plugins/searchprofiler/public/application/components/profile_tree/init_data.ts +++ b/x-pack/plugins/searchprofiler/public/application/components/profile_tree/init_data.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import cloneDeep from 'lodash.clonedeep'; +import { cloneDeep } from 'lodash'; import { flow } from 'fp-ts/lib/function'; import { Targets, Shard, ShardSerialized } from '../../types'; import { calcTimes, initTree, normalizeIndices, sortIndices } from './unsafe_utils'; @@ -108,7 +108,7 @@ export const normalize = (target: Targets) => (data: IndexMap) => { export const initDataFor = (target: Targets) => flow( - cloneDeep, + cloneDeep as any, initShards, calculateShardValues(target), initIndices, diff --git a/x-pack/plugins/searchprofiler/public/application/components/profile_tree/unsafe_utils.ts b/x-pack/plugins/searchprofiler/public/application/components/profile_tree/unsafe_utils.ts index b023f1b365c06..0fb0522d449bd 100644 --- a/x-pack/plugins/searchprofiler/public/application/components/profile_tree/unsafe_utils.ts +++ b/x-pack/plugins/searchprofiler/public/application/components/profile_tree/unsafe_utils.ts @@ -122,10 +122,10 @@ export function normalizeIndices(indices: IndexMap, target: Targets) { let sortQueryComponents; if (target === 'searches') { sortQueryComponents = (a: Shard, b: Shard) => { - const aTime = _.sum(a.searches!, (search) => { + const aTime = _.sumBy(a.searches!, (search: any) => { return search.treeRoot!.time; }); - const bTime = _.sum(b.searches!, (search) => { + const bTime = _.sumBy(b.searches!, (search: any) => { return search.treeRoot!.time; }); @@ -133,10 +133,10 @@ export function normalizeIndices(indices: IndexMap, target: Targets) { }; } else if (target === 'aggregations') { sortQueryComponents = (a: Shard, b: Shard) => { - const aTime = _.sum(a.aggregations!, (agg) => { + const aTime = _.sumBy(a.aggregations!, (agg: any) => { return agg.treeRoot!.time; }); - const bTime = _.sum(b.aggregations!, (agg) => { + const bTime = _.sumBy(b.aggregations!, (agg: any) => { return agg.treeRoot!.time; }); diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/change_all_privileges.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/change_all_privileges.tsx index 10aa59083dff6..14375587c8497 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/change_all_privileges.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/change_all_privileges.tsx @@ -51,7 +51,7 @@ export class ChangeAllPrivilegesControl extends Component { }} disabled={this.props.disabled} > - {_.capitalize(privilege.id)} + {_.upperFirst(privilege.id)} ); }); @@ -65,7 +65,7 @@ export class ChangeAllPrivilegesControl extends Component { }} disabled={this.props.disabled} > - {_.capitalize(NO_PRIVILEGE_VALUE)} + {_.upperFirst(NO_PRIVILEGE_VALUE)} ); diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/feature_table.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/feature_table.tsx index 38e4390a2856a..a371a9ec9ba1e 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/feature_table.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/feature_table/feature_table.tsx @@ -15,7 +15,6 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import _ from 'lodash'; import React, { Component } from 'react'; import { Role } from '../../../../../../../common/model'; import { ChangeAllPrivilegesControl } from './change_all_privileges'; diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_display.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_display.tsx index 7b5d8d8c1ed27..204fb512abcff 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_display.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_display.tsx @@ -40,7 +40,7 @@ function getDisplayValue(privilege: string | string[] | undefined) { if (isPrivilegeMissing) { displayValue = ; } else { - displayValue = privileges.map((p) => _.capitalize(p)).join(', '); + displayValue = privileges.map((p) => _.upperFirst(p)).join(', '); } return displayValue; diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx index 585c07c2e834f..64b7fe3e2e3a9 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx @@ -20,7 +20,6 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import _ from 'lodash'; import React, { Component } from 'react'; import { Space, getSpaceColor } from '../../../../../../../../spaces/public'; import { FeaturesPrivileges, Role, copyRole } from '../../../../../../../common/model'; diff --git a/x-pack/plugins/security/public/management/roles/model/kibana_privilege.ts b/x-pack/plugins/security/public/management/roles/model/kibana_privilege.ts index f5c85d3d92be2..cc9e74805040c 100644 --- a/x-pack/plugins/security/public/management/roles/model/kibana_privilege.ts +++ b/x-pack/plugins/security/public/management/roles/model/kibana_privilege.ts @@ -10,7 +10,7 @@ export class KibanaPrivilege { constructor(public readonly id: string, public readonly actions: string[] = []) {} public get name() { - return _.capitalize(this.id); + return _.upperFirst(this.id); } public grantsPrivilege(candidatePrivilege: KibanaPrivilege) { diff --git a/x-pack/plugins/security/public/management/users/components/change_password_form/change_password_form.tsx b/x-pack/plugins/security/public/management/users/components/change_password_form/change_password_form.tsx index 7a97794303558..296a8f6c8693f 100644 --- a/x-pack/plugins/security/public/management/users/components/change_password_form/change_password_form.tsx +++ b/x-pack/plugins/security/public/management/users/components/change_password_form/change_password_form.tsx @@ -12,6 +12,7 @@ import { EuiForm, EuiFormRow, } from '@elastic/eui'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import React, { ChangeEvent, Component } from 'react'; diff --git a/x-pack/plugins/security/server/authorization/register_privileges_with_cluster.ts b/x-pack/plugins/security/server/authorization/register_privileges_with_cluster.ts index 8e54794494a90..2309ef2c9e85a 100644 --- a/x-pack/plugins/security/server/authorization/register_privileges_with_cluster.ts +++ b/x-pack/plugins/security/server/authorization/register_privileges_with_cluster.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { isEqual, difference } from 'lodash'; +import { isEqual, isEqualWith, difference } from 'lodash'; import { IClusterClient, Logger } from '../../../../../src/core/server'; import { serializePrivileges } from './privileges_serializer'; @@ -22,7 +22,7 @@ export async function registerPrivilegesWithCluster( ) => { // when comparing privileges, the order of the actions doesn't matter, lodash's isEqual // doesn't know how to compare Sets - return isEqual(existingPrivileges, expectedPrivileges, (value, other, key) => { + return isEqualWith(existingPrivileges, expectedPrivileges, (value, other, key) => { if (key === 'actions' && Array.isArray(value) && Array.isArray(other)) { // Array.sort() is in-place, and we don't want to be modifying the actual order // of the arrays permanently, and there's potential they're frozen, so we're copying diff --git a/x-pack/plugins/security_solution/package.json b/x-pack/plugins/security_solution/package.json index 73347e00e6b34..b5956963b3348 100644 --- a/x-pack/plugins/security_solution/package.json +++ b/x-pack/plugins/security_solution/package.json @@ -12,11 +12,7 @@ "cypress:run-as-ci": "node ../../../scripts/functional_tests --config ../../test/security_solution_cypress/config.ts", "test:generate": "ts-node --project scripts/endpoint/cli_tsconfig.json scripts/endpoint/resolver_generator.ts" }, - "devDependencies": { - "@types/lodash": "^4.14.110" - }, "dependencies": { - "lodash": "^4.17.15", "querystring": "^0.2.0", "redux-devtools-extension": "^2.13.8", "@types/seedrandom": ">=2.0.0 <4.0.0" diff --git a/x-pack/plugins/security_solution/scripts/extract_tactics_techniques_mitre.js b/x-pack/plugins/security_solution/scripts/extract_tactics_techniques_mitre.js index 344d0f0e5131a..5c31b3fad685a 100644 --- a/x-pack/plugins/security_solution/scripts/extract_tactics_techniques_mitre.js +++ b/x-pack/plugins/security_solution/scripts/extract_tactics_techniques_mitre.js @@ -9,6 +9,7 @@ require('../../../../src/setup_node_env'); const fs = require('fs'); // eslint-disable-next-line import/no-extraneous-dependencies const fetch = require('node-fetch'); +// eslint-disable-next-line import/no-extraneous-dependencies const { camelCase } = require('lodash'); const { resolve } = require('path'); diff --git a/x-pack/plugins/snapshot_restore/public/application/sections/home/restore_list/restore_table/restore_table.tsx b/x-pack/plugins/snapshot_restore/public/application/sections/home/restore_list/restore_table/restore_table.tsx index 739c72fe03a6f..3b18af7cebbf3 100644 --- a/x-pack/plugins/snapshot_restore/public/application/sections/home/restore_list/restore_table/restore_table.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/sections/home/restore_list/restore_table/restore_table.tsx @@ -6,7 +6,7 @@ import React, { useState, useMemo } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; -import { sortByOrder } from 'lodash'; +import { orderBy } from 'lodash'; import { EuiBasicTable, EuiButtonIcon, EuiHealth } from '@elastic/eui'; import { RIGHT_ALIGNMENT } from '@elastic/eui/lib/services'; @@ -58,7 +58,7 @@ export const RestoreTable: React.FunctionComponent = React.memo(({ restor } = getSorting(); const { pageIndex, pageSize } = getPagination(); - const sortedRestores = sortByOrder(newRestoresList, [field], [direction]); + const sortedRestores = orderBy(newRestoresList, [field], [direction]); return sortedRestores.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize); }; diff --git a/x-pack/plugins/spaces/server/routes/api/external/copy_to_space.ts b/x-pack/plugins/spaces/server/routes/api/external/copy_to_space.ts index 4c9f62503a21b..87c2fee4ea9bf 100644 --- a/x-pack/plugins/spaces/server/routes/api/external/copy_to_space.ts +++ b/x-pack/plugins/spaces/server/routes/api/external/copy_to_space.ts @@ -18,7 +18,7 @@ import { createLicensedRouteHandler } from '../../lib'; type SavedObjectIdentifier = Pick; const areObjectsUnique = (objects: SavedObjectIdentifier[]) => - _.uniq(objects, (o: SavedObjectIdentifier) => `${o.type}:${o.id}`).length === objects.length; + _.uniqBy(objects, (o: SavedObjectIdentifier) => `${o.type}:${o.id}`).length === objects.length; export function initCopyToSpacesApi(deps: ExternalRouteDeps) { const { externalRouter, spacesService, getImportExportObjectLimit, getStartServices } = deps; diff --git a/x-pack/plugins/task_manager/server/lib/get_template_version.ts b/x-pack/plugins/task_manager/server/lib/get_template_version.ts index eac9d09685a42..07a9076359f0c 100644 --- a/x-pack/plugins/task_manager/server/lib/get_template_version.ts +++ b/x-pack/plugins/task_manager/server/lib/get_template_version.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { padLeft } from 'lodash'; +import { padStart } from 'lodash'; /* * The logic for ID is: XXYYZZAA, where XX is major version, YY is minor @@ -27,7 +27,7 @@ export function getTemplateVersion(versionStr: string): number { const padded = splitted.map((v: string) => { const vMatches = v.match(/\d+/); if (vMatches) { - return padLeft(vMatches[0], 2, '0'); + return padStart(vMatches[0], 2, '0'); } return '00'; }); @@ -39,13 +39,13 @@ export function getTemplateVersion(versionStr: string): number { const matches = minorStr.match(/alpha(?\d+)/); if (matches != null && matches.groups != null) { const alphaVerInt = parseInt(matches.groups.alpha, 10); // alpha build indicator - buildV = padLeft(`${alphaVerInt}`, 2, '0'); + buildV = padStart(`${alphaVerInt}`, 2, '0'); } } else if (minorStr.match('beta')) { const matches = minorStr.match(/beta(?\d+)/); if (matches != null && matches.groups != null) { const alphaVerInt = parseInt(matches.groups.beta, 10) + 25; // beta build indicator - buildV = padLeft(`${alphaVerInt}`, 2, '0'); + buildV = padStart(`${alphaVerInt}`, 2, '0'); } } else { buildV = '99'; // release build indicator diff --git a/x-pack/plugins/task_manager/server/task_pool.ts b/x-pack/plugins/task_manager/server/task_pool.ts index 17292adad3eb4..92374908c60f7 100644 --- a/x-pack/plugins/task_manager/server/task_pool.ts +++ b/x-pack/plugins/task_manager/server/task_pool.ts @@ -10,7 +10,7 @@ */ import moment, { Duration } from 'moment'; import { performance } from 'perf_hooks'; -import { padLeft } from 'lodash'; +import { padStart } from 'lodash'; import { Logger } from './types'; import { TaskRunner } from './task_runner'; import { isTaskSavedObjectNotFoundError } from './lib/is_task_not_found_error'; @@ -182,7 +182,7 @@ function partitionListByCount(list: T[], count: number): [T[], T[]] { function durationAsString(duration: Duration): string { const [m, s] = [duration.minutes(), duration.seconds()].map((value) => - padLeft(`${value}`, 2, '0') + padStart(`${value}`, 2, '0') ); return `${m}m ${s}s`; } diff --git a/x-pack/plugins/task_manager/server/task_runner.ts b/x-pack/plugins/task_manager/server/task_runner.ts index 7a9fa0c45e15f..4c690a5675f61 100644 --- a/x-pack/plugins/task_manager/server/task_runner.ts +++ b/x-pack/plugins/task_manager/server/task_runner.ts @@ -359,7 +359,7 @@ export class TaskManagerRunner implements TaskRunner { await this.bufferedTaskStore.update( defaults( { - ...fieldUpdates, + ...(fieldUpdates as Partial), // reset fields that track the lifecycle of the concluded `task run` startedAt: null, retryAt: null, diff --git a/x-pack/plugins/task_manager/server/task_store.test.ts b/x-pack/plugins/task_manager/server/task_store.test.ts index fec72c317225b..771b4e2d7d9cb 100644 --- a/x-pack/plugins/task_manager/server/task_store.test.ts +++ b/x-pack/plugins/task_manager/server/task_store.test.ts @@ -853,7 +853,7 @@ if (doc['task.runAt'].size()!=0) { type, attributes: { ..._.omit(task, 'id'), - ..._.mapValues(_.pick(task, 'params', 'state'), (value) => JSON.stringify(value)), + ..._.mapValues(_.pick(task, ['params', 'state']), (value) => JSON.stringify(value)), }, references: [], version: '123', @@ -904,7 +904,7 @@ if (doc['task.runAt'].size()!=0) { type, attributes: { ..._.omit(task, 'id'), - ..._.mapValues(_.pick(task, 'params', 'state'), (value) => JSON.stringify(value)), + ..._.mapValues(_.pick(task, ['params', 'state']), (value) => JSON.stringify(value)), }, references: [], version: '123', diff --git a/x-pack/plugins/task_manager/server/task_store.ts b/x-pack/plugins/task_manager/server/task_store.ts index c63f4ac72ed20..4a691e17011e8 100644 --- a/x-pack/plugins/task_manager/server/task_store.ts +++ b/x-pack/plugins/task_manager/server/task_store.ts @@ -429,7 +429,7 @@ function taskInstanceToAttributes(doc: TaskInstance): SerializedConcreteTaskInst retryAt: (doc.retryAt && doc.retryAt.toISOString()) || null, runAt: (doc.runAt || new Date()).toISOString(), status: (doc as ConcreteTaskInstance).status || 'idle', - }; + } as SerializedConcreteTaskInstance; } export function savedObjectToConcreteTaskInstance( diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.tsx b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.tsx index 463d170df2296..838b684cc10e8 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.tsx @@ -5,7 +5,7 @@ */ import React from 'react'; -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { EuiCard, EuiLink } from '@elastic/eui'; @@ -30,7 +30,7 @@ const getLicenseCheckResult = (actionType: ActionType) => { { defaultMessage: 'This connector requires a {minimumLicenseRequired} license.', values: { - minimumLicenseRequired: capitalize(actionType.minimumLicenseRequired), + minimumLicenseRequired: upperFirst(actionType.minimumLicenseRequired), }, } ), @@ -42,7 +42,7 @@ const getLicenseCheckResult = (actionType: ActionType) => { { defaultMessage: 'This feature requires a {minimumLicenseRequired} license.', values: { - minimumLicenseRequired: capitalize(actionType.minimumLicenseRequired), + minimumLicenseRequired: upperFirst(actionType.minimumLicenseRequired), }, } )} diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_details.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_details.tsx index 3a25417f7db4c..66a7ac25d4a70 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_details.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_details.tsx @@ -5,7 +5,7 @@ */ import React, { useState, Fragment } from 'react'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; import { useHistory } from 'react-router-dom'; import { EuiPageBody, @@ -72,7 +72,7 @@ export const AlertDetails: React.FunctionComponent = ({ } = useAppDependencies(); const canSave = hasSaveAlertsCapability(capabilities); - const actionTypesByTypeId = indexBy(actionTypes, 'id'); + const actionTypesByTypeId = keyBy(actionTypes, 'id'); const hasEditButton = canSave && alertTypeRegistry.has(alert.alertTypeId) ? !alertTypeRegistry.get(alert.alertTypeId).requiresAppContext diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_instances.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_instances.tsx index 9deeeb96124c8..799886d264547 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_instances.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_details/components/alert_instances.tsx @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { EuiBasicTable, EuiHealth, EuiSpacer, EuiSwitch } from '@elastic/eui'; // @ts-ignore import { RIGHT_ALIGNMENT, CENTER_ALIGNMENT } from '@elastic/eui/lib/services'; -import { padLeft, difference, chunk } from 'lodash'; +import { padStart, difference, chunk } from 'lodash'; import { Alert, AlertTaskState, RawAlertInstance, Pagination } from '../../../../types'; import { ComponentOpts as AlertApis, @@ -103,7 +103,7 @@ export const alertInstancesTableColumns = ( function durationAsString(duration: Duration): string { return [duration.hours(), duration.minutes(), duration.seconds()] - .map((value) => padLeft(`${value}`, 2, '0')) + .map((value) => padStart(`${value}`, 2, '0')) .join(':'); } diff --git a/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts b/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts index 0bec188f63640..f2867a24e1be6 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ +import _ from 'lodash'; import { HttpSetup } from 'kibana/public'; import { i18n } from '@kbn/i18n'; import { diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/constants.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/constants.tsx index aeb5801c9f6b5..b7eafb7bf5c88 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/constants.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/constants.tsx @@ -14,7 +14,9 @@ export const LEVEL_MAP: { [level: string]: number } = { critical: 1, }; -export const REVERSE_LEVEL_MAP: { [idx: number]: DeprecationInfo['level'] } = invert(LEVEL_MAP); +export const REVERSE_LEVEL_MAP: { [idx: number]: DeprecationInfo['level'] } = invert( + LEVEL_MAP +) as any; export const COLOR_MAP: { [level: string]: IconColor } = { warning: 'default', diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx index bbcba7238748d..6c5aad0f34e06 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx @@ -36,10 +36,10 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { isLogsAvailable, } = useContext(UptimeSettingsContext); - const domain = get(summary, 'state.url.domain', ''); - const podUid = get(summary, 'state.checks[0].kubernetes.pod.uid', undefined); - const containerId = get(summary, 'state.checks[0].container.id', undefined); - const ip = get(summary, 'state.checks[0].monitor.ip', undefined); + const domain = get(summary, 'state.url.domain', ''); + const podUid = get(summary, 'state.checks[0].kubernetes.pod.uid', undefined); + const containerId = get(summary, 'state.checks[0].container.id', undefined); + const ip = get(summary, 'state.checks[0].monitor.ip', undefined); return isApmAvailable || isInfraAvailable || isLogsAvailable ? ( diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx index 12fff376a1a3c..26d0093446461 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/monitor_status_list.tsx @@ -5,7 +5,7 @@ */ import React from 'react'; -import { get, capitalize } from 'lodash'; +import { get, upperFirst } from 'lodash'; import { EuiCallOut, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { LocationLink } from '../../../common/location_link'; @@ -26,12 +26,12 @@ export const MonitorStatusList = ({ checks }: MonitorStatusListProps) => { checks.forEach((check: Check) => { // Doing this way because name is either string or null, get() default value only works on undefined value - const location = get(check, 'observer.geo.name', null) || UNNAMED_LOCATION; + const location = get(check, 'observer.geo.name', null) || UNNAMED_LOCATION; if (check.monitor.status === STATUS.UP) { - upChecks.add(capitalize(location)); + upChecks.add(upperFirst(location)); } else if (check.monitor.status === STATUS.DOWN) { - downChecks.add(capitalize(location)); + downChecks.add(upperFirst(location)); } }); diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_status_column.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_status_column.tsx index a9d04e68b8929..f80c73dcf5bb0 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_status_column.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_status_column.tsx @@ -7,7 +7,7 @@ import React from 'react'; import moment from 'moment'; import { i18n } from '@kbn/i18n'; -import { capitalize } from 'lodash'; +import { upperFirst } from 'lodash'; import styled from 'styled-components'; import { EuiHealth, EuiFlexGroup, EuiFlexItem, EuiText, EuiToolTip } from '@elastic/eui'; import { parseTimestamp } from './parse_timestamp'; @@ -83,9 +83,9 @@ export const getLocationStatus = (checks: Check[], status: string) => { const location = check?.observer?.geo?.name ?? UNNAMED_LOCATION; if (check.monitor.status === STATUS.UP) { - upChecks.add(capitalize(location)); + upChecks.add(upperFirst(location)); } else if (check.monitor.status === STATUS.DOWN) { - downChecks.add(capitalize(location)); + downChecks.add(upperFirst(location)); } }); diff --git a/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx b/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx index 3a940b4655b19..033f466ad4261 100644 --- a/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx +++ b/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx @@ -38,7 +38,7 @@ export const getKibanaFrameworkAdapter = ( INTEGRATED_SOLUTIONS ); - const canSave = get(capabilities, 'uptime.save', false); + const canSave = get(capabilities, 'uptime.save', false) as boolean; const props: UptimeAppProps = { basePath: basePath.get(), diff --git a/x-pack/plugins/uptime/public/lib/helper/observability_integration/build_href.ts b/x-pack/plugins/uptime/public/lib/helper/observability_integration/build_href.ts index 414b37939b381..397d23a18332c 100644 --- a/x-pack/plugins/uptime/public/lib/helper/observability_integration/build_href.ts +++ b/x-pack/plugins/uptime/public/lib/helper/observability_integration/build_href.ts @@ -21,7 +21,7 @@ export const buildHref = ( getHref: (value: string | string[] | undefined) => string | undefined ): string | undefined => { const queryValue = checks - .map((check) => get(check, path, undefined)) + .map((check) => get(check, path, undefined)) .filter((value: string | undefined) => value !== undefined); if (queryValue.length === 0) { return getHref(undefined); diff --git a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts index 6e52b3a11f25f..52842005857a1 100644 --- a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts +++ b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts @@ -249,13 +249,13 @@ export const enrichMonitorGroups: MonitorEnricher = async ( const monitorIds: string[] = []; const summaries: MonitorSummary[] = monitorBuckets.map((monitor: any) => { - const monitorId = get(monitor, 'key.monitor_id'); + const monitorId = get(monitor, 'key.monitor_id'); monitorIds.push(monitorId); const state: any = monitor.state?.value; state.timestamp = state['@timestamp']; const { checks } = state; if (checks) { - state.checks = sortBy(checks, checksSortBy); + state.checks = sortBy(checks, checksSortBy); state.checks = state.checks.map((check: any) => ({ ...check, timestamp: check['@timestamp'], @@ -378,8 +378,4 @@ const cursorDirectionToOrder = (cd: CursorDirection): 'asc' | 'desc' => { return CursorDirection[cd] === CursorDirection.AFTER ? 'asc' : 'desc'; }; -type SortChecks = (check: Check) => string[]; -const checksSortBy = (check: Check) => [ - get(check, 'observer.geo.name'), - get(check, 'monitor.ip'), -]; +const checksSortBy = (check: Check) => [get(check, 'observer.geo.name'), get(check, 'monitor.ip')]; diff --git a/x-pack/plugins/watcher/public/application/sections/watch_edit/components/threshold_watch_edit/threshold_watch_edit.tsx b/x-pack/plugins/watcher/public/application/sections/watch_edit/components/threshold_watch_edit/threshold_watch_edit.tsx index b82f631a30fe7..01702a033d585 100644 --- a/x-pack/plugins/watcher/public/application/sections/watch_edit/components/threshold_watch_edit/threshold_watch_edit.tsx +++ b/x-pack/plugins/watcher/public/application/sections/watch_edit/components/threshold_watch_edit/threshold_watch_edit.tsx @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ +import _ from 'lodash'; import React, { Fragment, useContext, useEffect, useState } from 'react'; import { EuiButton, diff --git a/x-pack/plugins/watcher/server/models/execute_details/execute_details.js b/x-pack/plugins/watcher/server/models/execute_details/execute_details.js index 9dc162e06fba0..189da025e7142 100644 --- a/x-pack/plugins/watcher/server/models/execute_details/execute_details.js +++ b/x-pack/plugins/watcher/server/models/execute_details/execute_details.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { omit, isUndefined } from 'lodash'; +import { omitBy, isUndefined } from 'lodash'; export class ExecuteDetails { constructor(props) { @@ -22,14 +22,14 @@ export class ExecuteDetails { }; const result = { - trigger_data: omit(triggerData, isUndefined), + trigger_data: omitBy(triggerData, isUndefined), ignore_condition: this.ignoreCondition, alternative_input: this.alternativeInput, action_modes: this.actionModes, record_execution: this.recordExecution, }; - return omit(result, isUndefined); + return omitBy(result, isUndefined); } // generate ExecuteDetails object from kibana response diff --git a/x-pack/plugins/watcher/server/models/watch/lib/get_watch_type/get_watch_type.js b/x-pack/plugins/watcher/server/models/watch/lib/get_watch_type/get_watch_type.js index 2bdd03e23c6dc..90cb65a77e9ae 100644 --- a/x-pack/plugins/watcher/server/models/watch/lib/get_watch_type/get_watch_type.js +++ b/x-pack/plugins/watcher/server/models/watch/lib/get_watch_type/get_watch_type.js @@ -4,12 +4,12 @@ * you may not use this file except in compliance with the Elastic License. */ -import { get, contains, values } from 'lodash'; +import { get, includes, values } from 'lodash'; import { WATCH_TYPES } from '../../../../../common/constants'; export function getWatchType(watchJson) { const type = get(watchJson, 'metadata.xpack.type'); - if (contains(values(WATCH_TYPES), type)) { + if (includes(values(WATCH_TYPES), type)) { return type; } diff --git a/x-pack/test/api_integration/apis/metrics_ui/metrics.ts b/x-pack/test/api_integration/apis/metrics_ui/metrics.ts index 673ee3c3f8475..23b0a96ecd401 100644 --- a/x-pack/test/api_integration/apis/metrics_ui/metrics.ts +++ b/x-pack/test/api_integration/apis/metrics_ui/metrics.ts @@ -61,13 +61,13 @@ export default function ({ getService }: FtrProviderContext) { return; } expect(resp.metrics.length).to.equal(1); - const metric = first(resp.metrics); + const metric = first(resp.metrics) as any; expect(metric).to.have.property('id', 'hostCpuUsage'); expect(metric).to.have.property('series'); - const series = first(metric.series); + const series = first(metric.series) as any; expect(series).to.have.property('id', 'user'); expect(series).to.have.property('data'); - const datapoint = last(series.data); + const datapoint = last(series.data) as any; expect(datapoint).to.have.property('timestamp', 1547571720000); expect(datapoint).to.have.property('value', 0.0018333333333333333); }); diff --git a/x-pack/test/api_integration/apis/metrics_ui/metrics_explorer.ts b/x-pack/test/api_integration/apis/metrics_ui/metrics_explorer.ts index 554b17d505c5e..d372496d2d1d9 100644 --- a/x-pack/test/api_integration/apis/metrics_ui/metrics_explorer.ts +++ b/x-pack/test/api_integration/apis/metrics_ui/metrics_explorer.ts @@ -49,7 +49,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const body = decodeOrThrow(metricsExplorerResponseRT)(response.body); expect(body.series).length(1); - const firstSeries = first(body.series); + const firstSeries = first(body.series) as any; expect(firstSeries).to.have.property('id', 'Everything'); expect(firstSeries.columns).to.eql([ { name: 'timestamp', type: 'date' }, @@ -89,7 +89,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const body = decodeOrThrow(metricsExplorerResponseRT)(response.body); expect(body.series).length(1); - const firstSeries = first(body.series); + const firstSeries = first(body.series) as any; expect(firstSeries).to.have.property('id', 'Everything'); expect(firstSeries.columns).to.eql([ { name: 'timestamp', type: 'date' }, @@ -120,7 +120,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const body = decodeOrThrow(metricsExplorerResponseRT)(response.body); expect(body.series).length(1); - const firstSeries = first(body.series); + const firstSeries = first(body.series) as any; expect(firstSeries).to.have.property('id', 'Everything'); expect(firstSeries.columns).to.eql([]); expect(firstSeries.rows).to.have.length(0); @@ -151,7 +151,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const body = decodeOrThrow(metricsExplorerResponseRT)(response.body); expect(body.series).length(3); - const firstSeries = first(body.series); + const firstSeries = first(body.series) as any; expect(firstSeries).to.have.property('id', 'system.diskio'); expect(firstSeries.columns).to.eql([ { name: 'timestamp', type: 'date' }, @@ -196,7 +196,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const body = decodeOrThrow(metricsExplorerResponseRT)(response.body); expect(body.series).length(3); - const firstSeries = first(body.series); + const firstSeries = first(body.series) as any; expect(firstSeries).to.have.property('id', 'demo-stack-mysql-01 / eth0'); expect(firstSeries.columns).to.eql([ { name: 'timestamp', type: 'date' }, diff --git a/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts b/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts index 09c7866bf3a18..dd0c9b85ab787 100644 --- a/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts +++ b/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts @@ -60,7 +60,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(5); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property( @@ -103,7 +103,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(65); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property( @@ -135,7 +135,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(136); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property( @@ -174,7 +174,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(1); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property('value', 'demo-stack-mysql-01'); @@ -184,7 +184,7 @@ export default function ({ getService }: FtrProviderContext) { name: 'cpu', value: 0.0032, max: 0.0038333333333333336, - avg: 0.0027944444444444444, + avg: 0.002794444444444445, }); } }); @@ -211,7 +211,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(1); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property('value', 'demo-stack-mysql-01'); @@ -246,7 +246,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(1); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property('value', 'demo-stack-mysql-01'); @@ -281,7 +281,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(1); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(1); expect(first(firstNode.path)).to.have.property('value', 'demo-stack-mysql-01'); @@ -314,7 +314,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(1); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(2); expect(first(firstNode.path)).to.have.property('value', 'virtualbox'); @@ -342,7 +342,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(1); - const firstNode = first(nodes); + const firstNode = first(nodes) as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(3); expect(first(firstNode.path)).to.have.property('value', 'vagrant'); @@ -370,7 +370,7 @@ export default function ({ getService }: FtrProviderContext) { if (snapshot) { const { nodes } = snapshot; expect(nodes.length).to.equal(2); - const firstNode = nodes[0]; + const firstNode = nodes[0] as any; expect(firstNode).to.have.property('path'); expect(firstNode.path.length).to.equal(2); expect(firstNode.path[0]).to.have.property('value', 'mysql'); @@ -380,7 +380,7 @@ export default function ({ getService }: FtrProviderContext) { name: 'cpu', value: 0.0032, max: 0.0038333333333333336, - avg: 0.0027944444444444444, + avg: 0.002794444444444445, }); const secondNode = nodes[1]; expect(secondNode).to.have.property('path'); @@ -392,7 +392,7 @@ export default function ({ getService }: FtrProviderContext) { name: 'cpu', value: 0.0032, max: 0.0038333333333333336, - avg: 0.0027944444444444444, + avg: 0.002794444444444445, }); } }); diff --git a/x-pack/test/api_integration/apis/security/privileges.ts b/x-pack/test/api_integration/apis/security/privileges.ts index bcadd4fa06360..67079f03ceade 100644 --- a/x-pack/test/api_integration/apis/security/privileges.ts +++ b/x-pack/test/api_integration/apis/security/privileges.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import util from 'util'; -import { isEqual } from 'lodash'; +import { isEqual, isEqualWith } from 'lodash'; import expect from '@kbn/expect/expect.js'; import { RawKibanaPrivileges } from '../../../../plugins/security/common/model'; import { FtrProviderContext } from '../../ftr_provider_context'; @@ -53,7 +53,7 @@ export default function ({ getService }: FtrProviderContext) { // supertest uses assert.deepStrictEqual. // expect.js doesn't help us here. // and lodash's isEqual doesn't know how to compare Sets. - const success = isEqual(res.body, expected, (value, other, key) => { + const success = isEqualWith(res.body, expected, (value, other, key) => { if (Array.isArray(value) && Array.isArray(other)) { if (key === 'reserved') { // order does not matter for the reserved privilege set. diff --git a/x-pack/test/api_integration/apis/security/privileges_basic.ts b/x-pack/test/api_integration/apis/security/privileges_basic.ts index 1270c03b8a977..59e60cb0bf602 100644 --- a/x-pack/test/api_integration/apis/security/privileges_basic.ts +++ b/x-pack/test/api_integration/apis/security/privileges_basic.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import util from 'util'; -import { isEqual } from 'lodash'; +import { isEqual, isEqualWith } from 'lodash'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -51,7 +51,7 @@ export default function ({ getService }: FtrProviderContext) { // supertest uses assert.deepStrictEqual. // expect.js doesn't help us here. // and lodash's isEqual doesn't know how to compare Sets. - const success = isEqual(res.body, expected, (value, other, key) => { + const success = isEqualWith(res.body, expected, (value, other, key) => { if (Array.isArray(value) && Array.isArray(other)) { return isEqual(value.sort(), other.sort()); } diff --git a/x-pack/test/apm_api_integration/trial/tests/annotations.ts b/x-pack/test/apm_api_integration/trial/tests/annotations.ts index 0913d0c4b90bb..e6d643c6fb47c 100644 --- a/x-pack/test/apm_api_integration/trial/tests/annotations.ts +++ b/x-pack/test/apm_api_integration/trial/tests/annotations.ts @@ -18,7 +18,7 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { function expectContainsObj(source: JsonObject, expected: JsonObject) { expect(source).to.eql( - merge(cloneDeep(source), expected, (a, b) => { + merge(cloneDeep(source), expected, (a: any, b: any) => { if (isPlainObject(a) && isPlainObject(b)) { return undefined; } diff --git a/x-pack/test/functional/apps/lens/persistent_context.ts b/x-pack/test/functional/apps/lens/persistent_context.ts index 00d9208772798..bf989eb8b23c1 100644 --- a/x-pack/test/functional/apps/lens/persistent_context.ts +++ b/x-pack/test/functional/apps/lens/persistent_context.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; diff --git a/x-pack/test/functional/apps/lens/smokescreen.ts b/x-pack/test/functional/apps/lens/smokescreen.ts index 181d41d77b4cb..e9198662a970a 100644 --- a/x-pack/test/functional/apps/lens/smokescreen.ts +++ b/x-pack/test/functional/apps/lens/smokescreen.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; diff --git a/x-pack/test/functional/apps/security/doc_level_security_roles.js b/x-pack/test/functional/apps/security/doc_level_security_roles.js index c0a1ff34db96b..72f463be48fd5 100644 --- a/x-pack/test/functional/apps/security/doc_level_security_roles.js +++ b/x-pack/test/functional/apps/security/doc_level_security_roles.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const esArchiver = getService('esArchiver'); @@ -43,7 +43,7 @@ export default function ({ getService, getPageObjects }) { global: ['all'], }, }); - const roles = indexBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); + const roles = keyBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); log.debug('actualRoles = %j', roles); expect(roles).to.have.key('myroleEast'); expect(roles.myroleEast.reserved).to.be(false); @@ -61,7 +61,7 @@ export default function ({ getService, getPageObjects }) { save: true, roles: ['kibana_admin', 'myroleEast'], }); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users.userEast.roles).to.eql(['kibana_admin', 'myroleEast']); expect(users.userEast.reserved).to.be(false); diff --git a/x-pack/test/functional/apps/security/field_level_security.js b/x-pack/test/functional/apps/security/field_level_security.js index ec6b91219b7c4..7b22d72885c9d 100644 --- a/x-pack/test/functional/apps/security/field_level_security.js +++ b/x-pack/test/functional/apps/security/field_level_security.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const esArchiver = getService('esArchiver'); @@ -42,7 +42,7 @@ export default function ({ getService, getPageObjects }) { }); await PageObjects.common.sleep(1000); - const roles = indexBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); + const roles = keyBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); log.debug('actualRoles = %j', roles); expect(roles).to.have.key('a_viewssnrole'); expect(roles.a_viewssnrole.reserved).to.be(false); @@ -64,7 +64,7 @@ export default function ({ getService, getPageObjects }) { }, }); await PageObjects.common.sleep(1000); - const roles = indexBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); + const roles = keyBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); log.debug('actualRoles = %j', roles); expect(roles).to.have.key('a_view_no_ssn_role'); expect(roles.a_view_no_ssn_role.reserved).to.be(false); @@ -81,7 +81,7 @@ export default function ({ getService, getPageObjects }) { save: true, roles: ['kibana_admin', 'a_viewssnrole'], }); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users.customer1.roles).to.eql(['kibana_admin', 'a_viewssnrole']); }); @@ -97,7 +97,7 @@ export default function ({ getService, getPageObjects }) { save: true, roles: ['kibana_admin', 'a_view_no_ssn_role'], }); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users.customer2.roles).to.eql(['kibana_admin', 'a_view_no_ssn_role']); }); diff --git a/x-pack/test/functional/apps/security/rbac_phase1.js b/x-pack/test/functional/apps/security/rbac_phase1.js index e9c09d1af6ea6..b138859d01361 100644 --- a/x-pack/test/functional/apps/security/rbac_phase1.js +++ b/x-pack/test/functional/apps/security/rbac_phase1.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const PageObjects = getPageObjects([ 'security', @@ -70,7 +70,7 @@ export default function ({ getService, getPageObjects }) { roles: ['rbac_all'], }); log.debug('After Add user: , userObj.userName'); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); log.debug('roles: ', users.kibanauser.roles); expect(users.kibanauser.roles).to.eql(['rbac_all']); @@ -88,7 +88,7 @@ export default function ({ getService, getPageObjects }) { roles: ['rbac_read'], }); log.debug('After Add user: , userObj.userName'); - const users1 = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users1 = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); const user = users1.kibanareadonly; log.debug('actualUsers = %j', users1); log.debug('roles: ', user.roles); diff --git a/x-pack/test/functional/apps/security/secure_roles_perm.js b/x-pack/test/functional/apps/security/secure_roles_perm.js index 94b4306819052..2054a7b0b0038 100644 --- a/x-pack/test/functional/apps/security/secure_roles_perm.js +++ b/x-pack/test/functional/apps/security/secure_roles_perm.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const PageObjects = getPageObjects([ 'security', @@ -64,7 +64,7 @@ export default function ({ getService, getPageObjects }) { roles: ['logstash_reader', 'kibana_admin'], }); log.debug('After Add user: , userObj.userName'); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); log.debug('roles: ', users.Rashmi.roles); expect(users.Rashmi.roles).to.eql(['logstash_reader', 'kibana_admin']); diff --git a/x-pack/test/functional/apps/security/user_email.js b/x-pack/test/functional/apps/security/user_email.js index b6e3a84d6f7c0..a2a2b705172d7 100644 --- a/x-pack/test/functional/apps/security/user_email.js +++ b/x-pack/test/functional/apps/security/user_email.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const PageObjects = getPageObjects(['security', 'settings', 'common', 'accountSetting']); const log = getService('log'); @@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }) { save: true, roles: ['kibana_admin', 'superuser'], }); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users.newuser.roles).to.eql(['kibana_admin', 'superuser']); expect(users.newuser.fullname).to.eql('newuserFirst newuserLast'); diff --git a/x-pack/test/functional/apps/security/users.js b/x-pack/test/functional/apps/security/users.js index 4c8c04c0356b0..4fd4384a93c59 100644 --- a/x-pack/test/functional/apps/security/users.js +++ b/x-pack/test/functional/apps/security/users.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const PageObjects = getPageObjects(['security', 'settings']); const config = getService('config'); @@ -19,7 +19,7 @@ export default function ({ getService, getPageObjects }) { }); it('should show the default elastic and kibana_system users', async function () { - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.info('actualUsers = %j', users); log.info('config = %j', config.get('servers.elasticsearch.hostname')); if (config.get('servers.elasticsearch.hostname') === 'localhost') { @@ -50,7 +50,7 @@ export default function ({ getService, getPageObjects }) { save: true, roles: ['kibana_admin'], }); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users.Lee.roles).to.eql(['kibana_admin']); expect(users.Lee.fullname).to.eql('LeeFirst LeeLast'); @@ -66,7 +66,7 @@ export default function ({ getService, getPageObjects }) { save: true, roles: [], }); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users.OptionalUser.roles).to.eql(['']); expect(users.OptionalUser.fullname).to.eql(''); @@ -77,14 +77,14 @@ export default function ({ getService, getPageObjects }) { it('should delete user', async function () { const alertMsg = await PageObjects.security.deleteUser('Lee'); log.debug('alertMsg = %s', alertMsg); - const users = indexBy(await PageObjects.security.getElasticsearchUsers(), 'username'); + const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); log.debug('actualUsers = %j', users); expect(users).to.not.have.key('Lee'); }); it('should show the default roles', async function () { await PageObjects.security.clickElasticsearchRoles(); - const roles = indexBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); + const roles = keyBy(await PageObjects.security.getElasticsearchRoles(), 'rolename'); log.debug('actualRoles = %j', roles); // This only contains the first page of alphabetically sorted results, so the assertions are only for the first handful of expected roles. expect(roles.apm_system.reserved).to.be(true); diff --git a/x-pack/test/functional/apps/watcher/watcher_test.js b/x-pack/test/functional/apps/watcher/watcher_test.js index 7a2eebc118ab3..1dd3fb6bbcc3d 100644 --- a/x-pack/test/functional/apps/watcher/watcher_test.js +++ b/x-pack/test/functional/apps/watcher/watcher_test.js @@ -5,7 +5,7 @@ */ import expect from '@kbn/expect'; -import { indexBy } from 'lodash'; +import { keyBy } from 'lodash'; const watchID = 'watchID'; const watchName = 'watch Name'; @@ -74,7 +74,7 @@ export default function ({ getService, getPageObjects }) { it('should delete the watch', async () => { // Navigate to the main list page await PageObjects.common.navigateToApp('watcher'); - const watchList = indexBy(await PageObjects.watcher.getWatches(), 'id'); + const watchList = keyBy(await PageObjects.watcher.getWatches(), 'id'); log.debug(watchList); expect(watchList.watchID.name).to.eql([watchName]); await PageObjects.watcher.deleteWatch(watchID); diff --git a/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/details.ts b/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/details.ts index e22b098e6ee0c..d86d272c1da8c 100644 --- a/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/details.ts +++ b/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/details.ts @@ -375,7 +375,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const { alertInstances } = await alerting.alerts.getAlertState(alert.id); - const dateOnAllInstancesFromApiResponse = mapValues>( + const dateOnAllInstancesFromApiResponse = mapValues( alertInstances, ({ meta: { diff --git a/x-pack/test/plugin_api_perf/plugins/task_manager_performance/package.json b/x-pack/test/plugin_api_perf/plugins/task_manager_performance/package.json index 35a420561731a..2b174a8cae076 100644 --- a/x-pack/test/plugin_api_perf/plugins/task_manager_performance/package.json +++ b/x-pack/test/plugin_api_perf/plugins/task_manager_performance/package.json @@ -11,7 +11,6 @@ "build": "rm -rf './target' && tsc" }, "dependencies": { - "lodash": "^4.17.15", "uuid": "3.3.2", "stats-lite": "2.2.0", "pretty-ms": "5.0.0" diff --git a/x-pack/test/plugin_api_perf/plugins/task_manager_performance/server/plugin.ts b/x-pack/test/plugin_api_perf/plugins/task_manager_performance/server/plugin.ts index 9fbe9f26944ca..ba6d7ced3c591 100644 --- a/x-pack/test/plugin_api_perf/plugins/task_manager_performance/server/plugin.ts +++ b/x-pack/test/plugin_api_perf/plugins/task_manager_performance/server/plugin.ts @@ -265,8 +265,8 @@ function avg(items: number[]) { return { mean: Math.round(stats.mean(items)), range: { - min: Math.round(isNumericArray(mode) ? _.min([...mode]) : mode), - max: Math.round(isNumericArray(mode) ? _.max([...mode]) : mode), + min: Math.round(isNumericArray(mode) ? (_.min([...mode]) as number) : (mode as number)), + max: Math.round(isNumericArray(mode) ? (_.max([...mode]) as number) : (mode as number)), }, }; } diff --git a/x-pack/typings/index.d.ts b/x-pack/typings/index.d.ts index 1bf1370ad467f..73efee0dab2eb 100644 --- a/x-pack/typings/index.d.ts +++ b/x-pack/typings/index.d.ts @@ -22,11 +22,6 @@ declare module '*.svg' { export default content; } -declare module 'lodash/internal/toPath' { - function toPath(value: string | string[]): string[]; - export = toPath; -} - type MethodKeysOf = { [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never; }[keyof T]; diff --git a/yarn.lock b/yarn.lock index efd1206d8968a..b1d661a004b71 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5200,20 +5200,13 @@ dependencies: "@types/lodash" "*" -"@types/lodash.clonedeepwith@^4.5.3": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@types/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.6.tgz#a5edd6c167b70396537ce6293dd8c0383d7b75e4" - integrity sha512-lroYwAgCFPkHyxi9548a+uQMelP60AaA74CBqfn9Li27+ukUZritx+JVYJ0W54PKBaBauXzTRHEvGzYrPsPZtQ== - dependencies: - "@types/lodash" "*" - "@types/lodash3@npm:@types/lodash@^3.10.1", "@types/lodash@^3.10.1": name "@types/lodash3" version "3.10.3" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== -"@types/lodash4@npm:@types/lodash@^4.14.155", "@types/lodash@*": +"@types/lodash4@npm:@types/lodash@^4.14.155", "@types/lodash@*", "@types/lodash@^4.14.155": version "4.14.156" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== @@ -5223,11 +5216,6 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== -"@types/lodash@^4.14.110": - version "4.14.155" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.155.tgz#e2b4514f46a261fd11542e47519c20ebce7bc23a" - integrity sha512-vEcX7S7aPhsBCivxMwAANQburHBtfN9RdyXFk84IJmu2Z4Hkg1tOFgaslRiEqqvoLtbCBi6ika1EMspE+NZ9Lg== - "@types/lodash@^4.14.116": version "4.14.150" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" @@ -20344,11 +20332,6 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.clonedeepwith@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" - integrity sha1-buMFc6A6GmDWcKYu8zwQzxr9vdQ= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -20459,26 +20442,16 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= -lodash.kebabcase@^4.0.0, lodash.kebabcase@^4.1.1: +lodash.kebabcase@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= -lodash.keyby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.keyby/-/lodash.keyby-4.6.0.tgz#7f6a1abda93fd24e22728a4d361ed8bcba5a4354" - integrity sha1-f2oavak/0k4icopNNh7YvLpaQ1Q= - lodash.map@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= -lodash.mean@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.mean/-/lodash.mean-4.1.0.tgz#bb985349628c0b9d7fe0f5fcc0011a2ee2c0dd7a" - integrity sha1-u5hTSWKMC51/4PX8wAEaLuLA3Xo= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -20539,11 +20512,6 @@ lodash.set@^4.3.2: resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= -lodash.snakecase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= - lodash.some@^4.4.0, lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" @@ -20554,11 +20522,6 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" - integrity sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg= - lodash.template@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -20579,11 +20542,6 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= -lodash.topath@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" - integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= - lodash.unescape@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" @@ -20599,21 +20557,21 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" - integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= - "lodash3@npm:@elastic/lodash@3.10.1-kibana4", "lodash@npm:@elastic/lodash@3.10.1-kibana4": version "3.10.1-kibana4" resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== -"lodash4@npm:lodash@^4.17.15", lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: +"lodash4@npm:lodash@^4.17.15", lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@4.17.11: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" From 15dc299e8a566d9896a068eaf8c0c4ad109a8f1c Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 25 Jun 2020 01:00:47 +0100 Subject: [PATCH 03/37] chore(NA): remove mention to lodash from main package.json --- package.json | 4 ---- yarn.lock | 19 +++---------------- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 93160330364cb..5705187dca376 100644 --- a/package.json +++ b/package.json @@ -214,8 +214,6 @@ "less-loader": "5.0.0", "lodash4": "npm:lodash@^4.17.15", "lodash3": "npm:@elastic/lodash@3.10.1-kibana4", - "lodash": "npm:@elastic/lodash@3.10.1-kibana4", - "lodash.clonedeep": "^4.5.0", "lru-cache": "4.1.5", "markdown-it": "^10.0.0", "mini-css-extract-plugin": "0.8.0", @@ -357,8 +355,6 @@ "@types/listr": "^0.14.0", "@types/lodash4": "npm:@types/lodash@^4.14.155", "@types/lodash3": "npm:@types/lodash@^3.10.1", - "@types/lodash": "^3.10.1", - "@types/lodash.clonedeep": "^4.5.4", "@types/lru-cache": "^5.1.0", "@types/markdown-it": "^0.0.7", "@types/minimatch": "^2.0.29", diff --git a/yarn.lock b/yarn.lock index b1d661a004b71..76548ecd3eeb1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5193,20 +5193,12 @@ "@types/node" "*" "@types/webpack" "*" -"@types/lodash.clonedeep@^4.5.4": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz#3b6c40a0affe0799a2ce823b440a6cf33571d32b" - integrity sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA== - dependencies: - "@types/lodash" "*" - -"@types/lodash3@npm:@types/lodash@^3.10.1", "@types/lodash@^3.10.1": - name "@types/lodash3" +"@types/lodash3@npm:@types/lodash@^3.10.1": version "3.10.3" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== -"@types/lodash4@npm:@types/lodash@^4.14.155", "@types/lodash@*", "@types/lodash@^4.14.155": +"@types/lodash4@npm:@types/lodash@^4.14.155", "@types/lodash@^4.14.155": version "4.14.156" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== @@ -20327,11 +20319,6 @@ lodash.clone@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -20557,7 +20544,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash3@npm:@elastic/lodash@3.10.1-kibana4", "lodash@npm:@elastic/lodash@3.10.1-kibana4": +"lodash3@npm:@elastic/lodash@3.10.1-kibana4": version "3.10.1-kibana4" resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== From 5440b913de82393ae7af6b4bdec8470db313fdea Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 25 Jun 2020 01:20:19 +0100 Subject: [PATCH 04/37] chore(NA): remove helper alias for lodash4 and make it the default lodash --- package.json | 4 ++-- packages/kbn-config-schema/package.json | 2 +- .../kbn-config-schema/src/internals/index.ts | 2 +- renovate.json5 | 16 --------------- src/apm.js | 2 +- src/cli/cli.js | 2 +- src/cli/cluster/cluster.mock.ts | 2 +- src/cli/cluster/cluster_manager.test.ts | 2 +- src/cli/cluster/worker.ts | 2 +- src/cli/command.js | 2 +- src/cli/help.js | 2 +- src/cli/serve/read_keystore.js | 2 +- src/cli/serve/serve.js | 2 +- src/cli_keystore/cli_keystore.js | 2 +- src/cli_plugin/cli.js | 2 +- src/cli_plugin/install/rename.js | 2 +- src/cli_plugin/install/zip.js | 2 +- .../chrome/doc_title/doc_title_service.ts | 2 +- .../nav_controls/nav_controls_service.ts | 2 +- .../chrome/nav_links/nav_links_service.ts | 2 +- .../chrome/recently_accessed/persisted_log.ts | 2 +- .../chrome/ui/header/collapsible_nav.tsx | 2 +- .../injected_metadata_service.ts | 2 +- .../public/overlays/banners/priority_map.ts | 2 +- src/core/public/plugins/plugin_context.ts | 2 +- .../public/plugins/plugins_service.test.ts | 2 +- .../saved_objects/saved_objects_client.ts | 2 +- .../saved_objects/simple_saved_object.ts | 2 +- .../public/ui_settings/ui_settings_client.ts | 2 +- .../server/capabilities/merge_capabilities.ts | 2 +- .../capabilities/resolve_capabilities.ts | 2 +- src/core/server/config/config_service.ts | 2 +- .../config/deprecation/apply_deprecations.ts | 2 +- .../config/deprecation/core_deprecations.ts | 2 +- .../config/deprecation/deprecation_factory.ts | 2 +- .../server/config/object_to_config_adapter.ts | 2 +- src/core/server/config/raw_config_service.ts | 2 +- src/core/server/config/read_config.ts | 2 +- .../elasticsearch/cluster_client.test.ts | 2 +- .../server/elasticsearch/cluster_client.ts | 2 +- .../elasticsearch_client_config.ts | 2 +- src/core/server/elasticsearch/errors.ts | 2 +- .../elasticsearch/scoped_cluster_client.ts | 2 +- .../server/http/base_path_proxy_server.ts | 2 +- src/core/server/http/http_server.mocks.ts | 2 +- src/core/server/http/http_service.test.ts | 2 +- .../legacy/config/get_unused_config_keys.ts | 2 +- .../logging/layouts/conversions/date.ts | 2 +- .../discovery/plugin_manifest_parser.ts | 2 +- .../mappings/lib/get_property.ts | 2 +- .../migrations/core/build_active_mappings.ts | 2 +- .../migrations/core/document_migrator.test.ts | 2 +- .../migrations/core/document_migrator.ts | 2 +- .../migrations/core/elastic_index.test.ts | 2 +- .../migrations/core/elastic_index.ts | 2 +- .../migrations/core/index_migrator.test.ts | 2 +- .../migrations/core/migrate_raw_docs.test.ts | 2 +- .../migrations/core/migration_coordinator.ts | 2 +- .../serialization/serializer.test.ts | 2 +- .../service/lib/decorate_es_error.ts | 2 +- .../saved_objects/service/lib/filter_utils.ts | 2 +- .../saved_objects/service/lib/repository.ts | 2 +- .../create_or_upgrade_saved_config.ts | 2 +- .../server/ui_settings/ui_settings_client.ts | 2 +- src/core/utils/context.ts | 2 +- src/core/utils/merge.ts | 2 +- .../installed_packages.test.ts | 2 +- src/dev/sass/build_sass.js | 2 +- src/es_archiver/lib/__tests__/stats.ts | 2 +- src/es_archiver/lib/docs/__tests__/stubs.ts | 2 +- .../lib/indices/create_index_stream.ts | 2 +- src/es_archiver/lib/indices/delete_index.ts | 2 +- src/es_archiver/lib/stats.ts | 2 +- src/fixtures/agg_resp/geohash_grid.js | 2 +- src/fixtures/mock_state.js | 2 +- src/fixtures/mock_ui_state.js | 2 +- src/legacy/core_plugins/apm_oss/index.js | 2 +- .../core_plugins/console_legacy/index.ts | 2 +- .../server/lib/handle_es_error.js | 2 +- .../public/__tests__/discover/doc_table.js | 2 +- .../public/__tests__/discover/row_headers.js | 2 +- .../__tests__/vis_type_table/agg_table.js | 2 +- .../__tests__/vis_type_tagcloud/tag_cloud.js | 2 +- .../__tests__/vis_type_vislib/_vis_fixture.js | 2 +- .../vis_type_vislib/lib/chart_title.js | 2 +- .../__tests__/vis_type_vislib/lib/dispatch.js | 2 +- .../public/__tests__/vis_type_vislib/vis.js | 2 +- .../visualizations/area_chart.js | 2 +- .../visualizations/column_chart.js | 2 +- .../visualizations/gauge_chart.js | 2 +- .../visualizations/heatmap_chart.js | 2 +- .../visualizations/line_chart.js | 2 +- .../visualizations/pie_chart.js | 2 +- .../server/lib/export/export_dashboards.js | 2 +- .../server/lib/import/import_dashboards.js | 2 +- .../management/saved_objects/relationships.js | 2 +- .../status_page/public/lib/load_status.js | 2 +- .../tests_bundle/find_source_files.js | 2 +- .../core_plugins/timelion/public/app.js | 2 +- .../timelion/public/directives/cells/cells.js | 2 +- .../public/directives/saved_object_finder.js | 2 +- .../directives/timelion_expression_input.js | 2 +- .../timelion_expression_input_helpers.js | 2 +- .../directives/timelion_help/timelion_help.js | 2 +- .../timelion_interval/timelion_interval.js | 2 +- .../public/panels/timechart/schema.ts | 2 +- .../public/shim/timelion_legacy_module.ts | 2 +- src/legacy/deprecation/create_transform.js | 2 +- src/legacy/deprecation/deprecations/rename.js | 2 +- src/legacy/deprecation/deprecations/unused.js | 2 +- src/legacy/deprecation/get_transform.js | 2 +- .../__tests__/find_plugin_specs.js | 2 +- .../plugin_config/settings.js | 2 +- .../plugin_spec/plugin_spec.js | 2 +- src/legacy/server/config/config.js | 2 +- src/legacy/server/config/config.test.js | 2 +- src/legacy/server/http/index.js | 2 +- .../i18n/localization/file_integrity.ts | 2 +- .../telemetry_localization_collector.ts | 2 +- src/legacy/server/kbn_server.js | 2 +- src/legacy/server/logging/configuration.js | 2 +- src/legacy/server/logging/log_format.js | 2 +- .../server/logging/log_format_string.js | 2 +- src/legacy/server/logging/log_interceptor.js | 2 +- .../server/logging/log_with_metadata.js | 2 +- .../server/logging/rotate/log_rotator.test.ts | 4 ++-- .../server/logging/rotate/log_rotator.ts | 2 +- src/legacy/server/pid/index.js | 2 +- .../server/plugins/lib/call_plugin_hook.js | 2 +- src/legacy/server/plugins/lib/plugin.js | 2 +- src/legacy/server/status/index.js | 2 +- .../server/status/lib/case_conversion.ts | 2 +- .../status/lib/get_kibana_info_for_stats.js | 2 +- src/legacy/server/status/lib/metrics.js | 2 +- src/legacy/server/status/lib/metrics.test.js | 2 +- src/legacy/server/status/samples.js | 2 +- src/legacy/server/status/server_status.js | 2 +- .../server/status/server_status.test.js | 2 +- src/legacy/server/status/states.js | 2 +- src/legacy/server/status/wrap_auth_config.js | 2 +- src/legacy/ui/public/__tests__/events.js | 2 +- src/legacy/ui/public/bound_to_config_obj.js | 2 +- .../ui/public/chrome/__mocks__/index.js | 2 +- .../ui/public/chrome/api/__tests__/angular.js | 2 +- src/legacy/ui/public/chrome/api/apps.js | 2 +- .../ui/public/chrome/api/injected_vars.ts | 2 +- src/legacy/ui/public/chrome/chrome.js | 2 +- src/legacy/ui/public/config/config.js | 2 +- src/legacy/ui/public/directives/kbn_href.js | 2 +- .../render_directive/apply_scope_bindings.js | 2 +- .../render_directive/render_directive.js | 2 +- .../watch_multi/__tests__/watch_multi.js | 2 +- src/legacy/ui/public/doc_title/doc_title.js | 2 +- .../documentation_links/get_doc_link.ts | 2 +- src/legacy/ui/public/events.js | 2 +- .../indexed_array/__tests__/indexed_array.js | 2 +- .../indexed_array/helpers/organize_by.test.ts | 2 +- .../indexed_array/helpers/organize_by.ts | 2 +- src/legacy/ui/public/indexed_array/index.d.ts | 2 +- .../ui/public/indexed_array/indexed_array.js | 2 +- src/legacy/ui/public/kfetch/kfetch.ts | 2 +- src/legacy/ui/public/modules.js | 2 +- .../ui/public/new_platform/set_services.ts | 2 +- src/legacy/ui/public/registry/_registry.js | 2 +- .../public/routes/__tests__/_route_manager.js | 2 +- .../ui/public/routes/__tests__/_work_queue.js | 2 +- .../routes/__tests__/_wrap_route_with_prep.js | 2 +- src/legacy/ui/public/routes/breadcrumbs.js | 2 +- src/legacy/ui/public/routes/route_manager.js | 2 +- .../ui/public/routes/route_setup_manager.js | 2 +- .../ui/public/routes/wrap_route_with_prep.js | 2 +- .../__tests__/state_monitor_factory.js | 2 +- .../ui/public/state_management/state.js | 2 +- .../state_management/state_monitor_factory.ts | 2 +- .../test_sharding/setup_test_sharding.js | 2 +- .../ui/public/timefilter/setup_router.ts | 2 +- src/legacy/ui/public/url/__tests__/url.js | 2 +- src/legacy/ui/public/url/prepend_path.ts | 2 +- src/legacy/ui/public/url/url.js | 2 +- src/legacy/ui/public/utils/collection.ts | 2 +- .../ui_export_types/webpack_customizations.js | 2 +- src/legacy/utils/deep_clone_with_buffers.ts | 2 +- src/legacy/utils/unset.js | 2 +- .../dynamic_dll_plugin/dll_compiler.js | 2 +- src/optimize/watch/proxy_role.js | 2 +- .../management_app/components/form/form.tsx | 2 +- .../management_app/lib/get_aria_name.ts | 2 +- .../public/services/colors/color_palette.ts | 2 +- .../charts/public/services/colors/colors.ts | 2 +- .../services/colors/mapped_colors.test.ts | 2 +- .../public/services/colors/mapped_colors.ts | 2 +- .../public/static/color_maps/heatmap_color.ts | 2 +- .../public/static/components/color_ranges.tsx | 2 +- .../application/components/settings_modal.tsx | 2 +- .../console_history/console_history.tsx | 2 +- .../application/containers/editor/editor.tsx | 2 +- .../editor/legacy/console_editor/editor.tsx | 2 +- .../console_editor/keyboard_shortcuts.ts | 2 +- .../hooks/use_save_current_text_object.ts | 2 +- .../legacy_core_editor/create_readonly.ts | 2 +- .../models/legacy_core_editor/smart_resize.ts | 2 +- .../__tests__/integration.test.js | 2 +- .../__tests__/sense_editor.test.js | 2 +- .../models/sense_editor/sense_editor.ts | 2 +- .../__jest__/url_autocomplete.test.js | 2 +- .../autocomplete/__jest__/url_params.test.js | 2 +- .../public/lib/autocomplete/autocomplete.ts | 2 +- .../public/lib/autocomplete/body_completer.js | 2 +- .../components/accept_endpoint_component.js | 2 +- .../components/constant_component.js | 2 +- .../field_autocomplete_component.js | 2 +- .../components/id_autocomplete_component.js | 2 +- .../index_autocomplete_component.js | 2 +- .../autocomplete/components/list_component.js | 2 +- .../components/object_component.js | 2 +- .../components/shared_component.js | 2 +- .../components/type_autocomplete_component.js | 2 +- .../components/url_pattern_matcher.js | 2 +- .../username_autocomplete_component.js | 2 +- .../console/public/lib/autocomplete/engine.js | 2 +- .../public/lib/autocomplete/url_params.js | 2 +- .../__tests__/curl_parsing.test.js | 2 +- .../public/lib/kb/__tests__/kb.test.js | 2 +- src/plugins/console/public/lib/kb/api.js | 2 +- src/plugins/console/public/lib/kb/kb.js | 2 +- .../console/public/lib/mappings/mappings.js | 2 +- src/plugins/console/public/lib/utils/index.ts | 2 +- .../console/public/services/storage.ts | 2 +- .../server/lib/elasticsearch_proxy_config.ts | 2 +- .../console/server/lib/proxy_config.ts | 2 +- .../server/lib/proxy_config_collection.ts | 2 +- src/plugins/console/server/lib/set_headers.ts | 2 +- .../lib/spec_definitions/js/mappings.ts | 2 +- .../lib/spec_definitions/js/query/dsl.ts | 2 +- .../api/console/proxy/create_handler.ts | 2 +- .../services/spec_definitions_service.ts | 2 +- .../actions/clone_panel_action.tsx | 2 +- .../actions/replace_panel_flyout.tsx | 2 +- .../application/dashboard_app_controller.tsx | 2 +- .../application/dashboard_state_manager.ts | 2 +- .../embeddable/grid/dashboard_grid.tsx | 2 +- .../panel/dashboard_panel_placement.ts | 2 +- .../lib/embeddable_saved_object_converters.ts | 2 +- .../public/application/lib/filter_utils.ts | 2 +- .../application/lib/update_saved_dashboard.ts | 2 +- .../listing/dashboard_listing.test.js | 4 ++-- .../saved_objects/dashboard_migrations.ts | 2 +- .../saved_objects/migrate_match_all_query.ts | 2 +- src/plugins/dev_tools/public/plugin.ts | 2 +- .../public/application/angular/context.js | 2 +- .../application/angular/context/api/anchor.js | 2 +- .../context/api/context.predecessors.test.js | 2 +- .../context/api/context.successors.test.js | 2 +- .../angular/context/query/actions.js | 2 +- .../context/query_parameters/actions.js | 2 +- .../public/application/angular/context_app.js | 2 +- .../application/angular/context_state.ts | 2 +- .../collapsible_sidebar.ts | 2 +- .../angular/directives/debounce/debounce.js | 2 +- .../angular/directives/fixed_scroll.js | 2 +- .../public/application/angular/discover.js | 2 +- .../application/angular/discover_state.ts | 2 +- .../angular/doc_table/components/table_row.ts | 2 +- .../angular/doc_table/lib/get_sort.ts | 2 +- .../application/angular/get_painless_error.ts | 2 +- .../angular/helpers/point_series.ts | 2 +- .../sidebar/discover_sidebar.test.tsx | 2 +- .../components/sidebar/discover_sidebar.tsx | 2 +- .../sidebar/lib/field_calculator.js | 2 +- .../sidebar/lib/field_calculator.test.ts | 2 +- .../lib/get_index_pattern_field_list.ts | 2 +- .../application/components/table/table.tsx | 2 +- .../embeddable/search_embeddable.ts | 2 +- .../discover/public/kibana_services.ts | 2 +- .../public/lib/embeddables/embeddable.tsx | 2 +- .../components/cron_editor/cron_editor.js | 2 +- .../components/json_editor/json_editor.tsx | 2 +- .../lexer_rules/x_json_highlight_rules.ts | 2 +- .../json_xjson_translation_tools.test.ts | 2 +- .../forms/hook_form_lib/hooks/use_form.ts | 2 +- .../static/forms/hook_form_lib/lib/utils.ts | 2 +- .../expressions/common/execution/execution.ts | 2 +- .../specs/kibana_context.ts | 2 +- .../expression_functions/specs/tests/utils.ts | 2 +- .../expression_types/specs/datatable.ts | 2 +- .../specs/kibana_datatable.ts | 2 +- src/plugins/expressions/public/loader.ts | 2 +- .../components/sample_data_set_cards.js | 2 +- .../components/tutorial/tutorial.js | 2 +- .../components/tutorial_directory.js | 2 +- .../home/public/application/load_tutorials.js | 2 +- .../services/sample_data/routes/uninstall.ts | 2 +- .../sample_data/usage/collector_fetch.ts | 2 +- .../lib/get_indices.ts | 2 +- .../edit_index_pattern/edit_index_pattern.tsx | 2 +- .../lib/get_field_format.ts | 2 +- .../components/table/table.tsx | 2 +- .../edit_index_pattern/tabs/utils.ts | 2 +- .../components/field_editor/field_editor.tsx | 2 +- .../public/components/editor/field_select.tsx | 2 +- .../public/components/vis/list_control.tsx | 2 +- .../public/components/vis/range_control.tsx | 2 +- .../public/control/control.ts | 2 +- .../control/filter_manager/filter_manager.ts | 2 +- .../filter_manager/phrase_filter_manager.ts | 2 +- .../filter_manager/range_filter_manager.ts | 2 +- .../public/control/list_control_factory.ts | 2 +- .../public/control/range_control_factory.ts | 2 +- .../public/lineage/lineage_map.ts | 2 +- .../public/views/data/lib/export_csv.ts | 2 +- .../public/angular/angular_config.tsx | 2 +- .../kibana_legacy/public/angular/promises.js | 2 +- .../public/angular/watch_multi.js | 2 +- .../public/angular_bootstrap/index.ts | 2 +- .../public/notify/lib/format_es_msg.ts | 2 +- .../public/notify/lib/format_msg.ts | 2 +- .../kibana_legacy/public/paginate/paginate.js | 2 +- .../public/utils/migrate_legacy_query.ts | 2 +- .../kibana_legacy/public/utils/private.js | 2 +- src/plugins/kibana_legacy/server/index.ts | 2 +- .../kibana_react/public/markdown/markdown.tsx | 2 +- .../table_list_view/table_list_view.tsx | 2 +- .../kibana/get_saved_object_counts.ts | 2 +- .../ops_stats/ops_stats_collector.ts | 2 +- .../common/url/encode_uri_query.ts | 2 +- .../public/field_wildcard/field_wildcard.ts | 2 +- .../public/resize_checker/resize_checker.ts | 2 +- .../utils/diff_object.test.ts | 2 +- .../state_management/utils/diff_object.ts | 2 +- .../hashed_item_store/hashed_item_store.ts | 2 +- .../management_sidebar_nav.tsx | 2 +- .../public/map/base_maps_visualization.js | 2 +- .../maps_legacy/public/map/decode_geo_hash.ts | 2 +- .../maps_legacy/public/map/grid_dimensions.js | 2 +- .../maps_legacy/public/map/kibana_map.js | 2 +- .../public/map/service_settings.js | 2 +- .../public/top_nav_menu/top_nav_menu_item.tsx | 2 +- .../__tests__/region_map_visualization.js | 2 +- .../region_map/public/choropleth_layer.js | 2 +- .../finder/saved_object_finder.test.tsx | 2 +- .../public/finder/saved_object_finder.tsx | 2 +- .../saved_object/helpers/apply_es_resp.ts | 2 +- .../helpers/build_saved_object.ts | 2 +- .../saved_object/helpers/create_source.ts | 2 +- .../helpers/initialize_saved_object.ts | 2 +- .../helpers/save_with_confirmation.ts | 2 +- .../helpers/serialize_saved_object.ts | 2 +- .../public/lib/case_conversion.ts | 2 +- .../public/lib/create_field_list.ts | 2 +- .../public/lib/get_relationships.ts | 2 +- .../public/lib/numeric.ts | 2 +- .../public/lib/resolve_saved_objects.ts | 2 +- .../object_view/components/form.tsx | 2 +- .../objects_table/components/flyout.tsx | 2 +- .../saved_objects_table.test.mocks.ts | 4 ++-- .../objects_table/saved_objects_table.tsx | 2 +- .../saved_objects_table_page.tsx | 2 +- .../server/lib/find_all.test.ts | 2 +- .../routes/lib/short_url_assert_valid.ts | 2 +- .../server/routes/lib/short_url_lookup.ts | 2 +- src/plugins/share/server/saved_objects/url.ts | 2 +- .../__tests__/get_local_stats.js | 2 +- .../server/telemetry_collection/get_kibana.ts | 2 +- src/plugins/tile_map/public/css_filters.js | 2 +- src/plugins/tile_map/public/geohash_layer.js | 2 +- .../tile_map/public/markers/heatmap.js | 2 +- .../tile_map/public/markers/scaled_circles.js | 2 +- .../tile_map/public/markers/shaded_circles.js | 2 +- .../tile_map/public/tile_map_visualization.js | 2 +- .../build_eui_context_menu_panels.tsx | 2 +- .../server/collector/collector_set.test.ts | 2 +- .../server/collector/collector_set.ts | 2 +- .../public/components/agg_group_helper.tsx | 2 +- .../public/components/agg_params_helper.ts | 2 +- .../public/components/agg_select.tsx | 2 +- .../controls/components/input_list.tsx | 2 +- .../components/number_list/range.test.ts | 2 +- .../controls/components/number_list/utils.ts | 2 +- .../components/simple_number_list.tsx | 2 +- .../components/controls/date_ranges.tsx | 2 +- .../components/controls/extended_bounds.tsx | 2 +- .../public/components/controls/field.tsx | 2 +- .../public/components/controls/filters.tsx | 2 +- .../components/controls/number_interval.tsx | 2 +- .../public/components/controls/ranges.tsx | 2 +- .../public/components/controls/size.tsx | 2 +- .../components/controls/time_interval.tsx | 2 +- .../public/components/sidebar/data_tab.tsx | 2 +- .../public/components/sidebar/sidebar.tsx | 2 +- .../components/sidebar/state/reducers.ts | 2 +- .../vis_default_editor/public/schemas.ts | 2 +- .../components/metric_vis_component.tsx | 2 +- .../public/agg_table/agg_table.js | 2 +- .../public/components/table_vis_options.tsx | 2 +- .../public/paginated_table/paginated_table.js | 2 +- .../paginated_table/paginated_table.test.ts | 2 +- .../public/paginated_table/rows.js | 2 +- .../public/table_vis_controller.js | 2 +- .../common/lib/to_milliseconds.ts | 2 +- .../public/components/panel.tsx | 2 +- .../timelion_expression_input_helpers.ts | 2 +- .../public/helpers/arg_value_suggestions.ts | 2 +- .../public/helpers/panel_utils.ts | 2 +- .../public/helpers/tick_formatters.ts | 2 +- .../public/timelion_vis_fn.ts | 2 +- .../server/fit_functions/average.js | 2 +- .../server/fit_functions/average.test.js | 2 +- .../server/fit_functions/carry.js | 2 +- .../server/fit_functions/carry.test.js | 2 +- .../server/fit_functions/nearest.js | 2 +- .../server/fit_functions/scale.js | 2 +- .../server/handlers/chain_runner.js | 2 +- .../server/handlers/lib/arg_type.js | 2 +- .../server/handlers/lib/index_arguments.js | 2 +- .../server/handlers/lib/parse_sheet.js | 2 +- .../server/handlers/lib/preprocess_chain.js | 2 +- .../handlers/lib/reposition_arguments.js | 2 +- .../server/handlers/lib/tl_config.js | 2 +- .../server/handlers/lib/validate_arg.js | 2 +- .../vis_type_timelion/server/lib/alter.js | 2 +- .../vis_type_timelion/server/lib/as_sorted.js | 2 +- .../server/lib/classes/datasource.js | 2 +- .../server/lib/classes/timelion_function.js | 2 +- .../server/lib/functions_md.js | 2 +- .../server/lib/get_namespaced_settings.js | 2 +- .../server/lib/load_functions.js | 2 +- .../server/lib/process_function_definition.js | 2 +- .../vis_type_timelion/server/lib/reduce.js | 2 +- .../server/lib/unzip_pairs.js | 2 +- .../server/routes/functions.ts | 2 +- .../vis_type_timelion/server/routes/run.ts | 2 +- .../server/routes/validate_es.ts | 2 +- .../server/series_functions/abs.js | 2 +- .../server/series_functions/abs.test.js | 2 +- .../aggregate/aggregate.test.js | 2 +- .../server/series_functions/aggregate/avg.js | 2 +- .../series_functions/aggregate/cardinality.js | 2 +- .../series_functions/aggregate/first.js | 2 +- .../series_functions/aggregate/index.js | 2 +- .../server/series_functions/aggregate/last.js | 2 +- .../server/series_functions/aggregate/max.js | 2 +- .../server/series_functions/aggregate/min.js | 2 +- .../server/series_functions/aggregate/sum.js | 2 +- .../server/series_functions/bars.test.js | 2 +- .../server/series_functions/color.test.js | 2 +- .../server/series_functions/condition.js | 2 +- .../server/series_functions/condition.test.js | 2 +- .../server/series_functions/cusum.js | 2 +- .../server/series_functions/cusum.test.js | 2 +- .../server/series_functions/derivative.js | 2 +- .../series_functions/derivative.test.js | 2 +- .../server/series_functions/divide.test.js | 2 +- .../server/series_functions/es/es.test.js | 2 +- .../server/series_functions/es/index.js | 2 +- .../es/lib/agg_response_to_series_list.js | 2 +- .../series_functions/es/lib/build_request.js | 2 +- .../es/lib/create_date_agg.js | 2 +- .../server/series_functions/fit.js | 2 +- .../server/series_functions/fit.test.js | 2 +- .../server/series_functions/graphite.js | 2 +- .../series_functions/helpers/get_series.js | 2 +- .../helpers/get_series_list.js | 2 +- .../helpers/get_single_series_list.js | 2 +- .../helpers/invoke_series_fn.js | 2 +- .../server/series_functions/hide.test.js | 2 +- .../server/series_functions/holt/index.js | 2 +- .../server/series_functions/holt/lib/des.js | 2 +- .../server/series_functions/holt/lib/ses.js | 2 +- .../server/series_functions/holt/lib/tes.js | 2 +- .../server/series_functions/label.test.js | 2 +- .../server/series_functions/log.js | 2 +- .../server/series_functions/log.test.js | 2 +- .../server/series_functions/max.test.js | 2 +- .../server/series_functions/min.test.js | 2 +- .../server/series_functions/movingaverage.js | 2 +- .../series_functions/movingaverage.test.js | 2 +- .../server/series_functions/movingstd.js | 2 +- .../server/series_functions/multiply.test.js | 2 +- .../server/series_functions/points.js | 2 +- .../server/series_functions/points.test.js | 2 +- .../server/series_functions/precision.test.js | 2 +- .../server/series_functions/props.js | 2 +- .../server/series_functions/quandl.js | 2 +- .../server/series_functions/range.js | 2 +- .../server/series_functions/range.test.js | 2 +- .../server/series_functions/scale_interval.js | 2 +- .../series_functions/scale_interval.test.js | 2 +- .../server/series_functions/static.js | 2 +- .../server/series_functions/static.test.js | 2 +- .../server/series_functions/subtract.test.js | 2 +- .../server/series_functions/sum.test.js | 2 +- .../server/series_functions/title.test.js | 2 +- .../server/series_functions/trend/index.js | 2 +- .../series_functions/trend/lib/regress.js | 2 +- .../server/series_functions/trim.js | 2 +- .../server/series_functions/trim.test.js | 2 +- .../server/series_functions/worldbank.js | 2 +- .../series_functions/worldbank_indicators.js | 2 +- .../server/series_functions/yaxis.js | 2 +- .../vis_type_timeseries/common/agg_lookup.js | 2 +- .../common/calculate_label.js | 2 +- .../common/extract_index_patterns.js | 2 +- .../common/get_last_value.js | 2 +- .../components/add_delete_buttons.js | 2 +- .../application/components/aggs/agg_row.js | 2 +- .../components/aggs/metric_select.js | 2 +- .../aggs/percentile_rank/multi_value_row.js | 2 +- .../aggs/percentile_rank/percentile_rank.js | 2 +- .../percentile_rank/percentile_rank_values.js | 2 +- .../components/aggs/percentile_ui.js | 2 +- .../application/components/aggs/vars.js | 2 +- .../components/annotations_editor.js | 2 +- .../application/components/color_rules.js | 2 +- .../components/data_format_picker.js | 2 +- .../public/application/components/error.js | 2 +- .../application/components/index_pattern.js | 2 +- .../components/lib/calculate_siblings.js | 2 +- .../application/components/lib/charts.js | 2 +- .../components/lib/convert_series_to_vars.js | 2 +- .../components/lib/create_change_handler.js | 2 +- .../components/lib/create_number_handler.js | 2 +- .../components/lib/create_select_handler.js | 2 +- .../components/lib/create_text_handler.js | 2 +- .../components/lib/get_interval.js | 2 +- .../components/lib/new_series_fn.js | 2 +- .../components/lib/re_id_series.js | 2 +- .../components/lib/replace_vars.js | 2 +- .../components/lib/series_change_handler.js | 2 +- .../components/lib/tick_formatter.js | 2 +- .../application/components/markdown_editor.js | 2 +- .../components/panel_config/table.js | 2 +- .../public/application/components/series.js | 2 +- .../application/components/series_editor.js | 2 +- .../public/application/components/split.js | 2 +- .../components/splits/filter_items.js | 2 +- .../application/components/splits/terms.js | 2 +- .../application/components/vis_editor.js | 2 +- .../components/vis_editor_visualization.js | 2 +- .../components/vis_types/gauge/vis.js | 2 +- .../components/vis_types/markdown/vis.js | 2 +- .../components/vis_types/metric/vis.js | 2 +- .../components/vis_types/table/vis.js | 2 +- .../components/vis_types/timeseries/vis.js | 2 +- .../components/vis_types/top_n/vis.js | 2 +- .../application/components/vis_with_splits.js | 2 +- .../application/components/visualization.js | 2 +- .../public/application/components/yes_no.js | 2 +- .../application/lib/check_ui_restrictions.js | 2 +- .../visualizations/lib/get_value_by.js | 2 +- .../application/visualizations/views/gauge.js | 2 +- .../visualizations/views/gauge_vis.js | 2 +- .../visualizations/views/metric.js | 2 +- .../vis_type_timeseries/public/metrics_fn.ts | 2 +- .../server/lib/get_fields.ts | 2 +- .../server/lib/get_vis_data.ts | 2 +- .../vis_data/get_interval_and_timefield.js | 2 +- .../server/lib/vis_data/get_table_data.js | 2 +- .../lib/vis_data/helpers/bucket_transform.js | 2 +- .../lib/vis_data/helpers/get_agg_value.js | 2 +- .../lib/vis_data/helpers/get_buckets_path.js | 2 +- .../lib/vis_data/helpers/get_index_pattern.js | 2 +- .../lib/vis_data/helpers/get_last_metric.js | 2 +- .../vis_data/helpers/get_sibling_agg_value.js | 2 +- .../server/lib/vis_data/helpers/get_splits.js | 2 +- .../lib/vis_data/helpers/parse_interval.js | 2 +- .../server/lib/vis_data/helpers/timestamp.js | 2 +- .../lib/vis_data/helpers/unit_to_seconds.js | 2 +- .../series/normalize_query.js | 2 +- .../table/calculate_agg_root.js | 2 +- .../table/normalize_query.js | 2 +- .../request_processors/table/pivot.js | 2 +- .../annotations/buckets.js | 2 +- .../response_processors/annotations/index.js | 2 +- .../response_processors/series/_series_agg.js | 2 +- .../series/drop_last_bucket.js | 2 +- .../response_processors/series/math.js | 2 +- .../response_processors/series/series_agg.js | 2 +- .../response_processors/series/time_shift.js | 2 +- .../response_processors/table/_series_agg.js | 2 +- .../response_processors/table/percentile.js | 2 +- .../table/percentile_rank.js | 2 +- .../response_processors/table/series_agg.js | 2 +- .../vis_data/series/handle_response_body.js | 2 +- .../lib/vis_data/table/process_bucket.js | 2 +- .../server/saved_objects/tsvb_telemetry.ts | 2 +- .../public/data_model/es_query_parser.js | 2 +- .../public/data_model/es_query_parser.test.js | 2 +- .../public/data_model/vega_parser.js | 2 +- .../public/data_model/vega_parser.test.js | 2 +- src/plugins/vis_type_vega/public/vega_fn.ts | 2 +- .../public/vega_view/vega_tooltip.js | 2 +- .../public/components/visualization.tsx | 2 +- .../public/embeddable/visualize_embeddable.ts | 2 +- .../visualizations/public/expressions/vis.ts | 2 +- .../expressions/visualization_function.ts | 2 +- .../public/legacy/build_pipeline.ts | 2 +- .../public/legacy/vis_update_state.js | 2 +- .../public/legacy/vis_update_state.test.js | 2 +- .../public/persisted_state/persisted_state.ts | 2 +- .../saved_visualizations/find_list_items.ts | 2 +- src/plugins/visualizations/public/vis.ts | 2 +- .../public/vis_types/base_vis_type.ts | 2 +- .../public/vis_types/react_vis_type.test.ts | 2 +- .../wizard/type_selection/type_selection.tsx | 2 +- .../saved_objects/visualization_migrations.ts | 2 +- .../public/application/editor/editor.js | 2 +- .../editor/lib/migrate_app_state.ts | 2 +- .../editor/lib/visualize_app_state.ts | 2 +- .../public/application/legacy_app.js | 2 +- src/test_utils/expect_deep_equal.js | 2 +- src/test_utils/get_url.js | 2 +- src/test_utils/kbn_server.ts | 2 +- src/test_utils/public/simulate_keys.js | 2 +- .../fields_for_wildcard_route/response.js | 2 +- .../apis/kql_telemetry/kql_telemetry.js | 2 +- .../apis/saved_objects/bulk_update.js | 2 +- .../apis/saved_objects/migrations.js | 2 +- .../apis/telemetry/telemetry_local.js | 2 +- .../apps/management/_import_objects.js | 2 +- .../functional/apps/visualize/_chart_types.ts | 2 +- test/functional/page_objects/common_page.ts | 2 +- test/functional/services/common/browser.ts | 2 +- .../load_mappings_provider.test.tsx | 4 ++-- yarn.lock | 20 +++++++++---------- 624 files changed, 637 insertions(+), 653 deletions(-) diff --git a/package.json b/package.json index 5705187dca376..cdc2e8db289a9 100644 --- a/package.json +++ b/package.json @@ -212,7 +212,7 @@ "leaflet.heat": "0.2.0", "less": "npm:@elastic/less@2.7.3-kibana", "less-loader": "5.0.0", - "lodash4": "npm:lodash@^4.17.15", + "lodash": "^4.17.15", "lodash3": "npm:@elastic/lodash@3.10.1-kibana4", "lru-cache": "4.1.5", "markdown-it": "^10.0.0", @@ -353,7 +353,7 @@ "@types/json5": "^0.0.30", "@types/license-checker": "15.0.0", "@types/listr": "^0.14.0", - "@types/lodash4": "npm:@types/lodash@^4.14.155", + "@types/lodash": "^4.14.155", "@types/lodash3": "npm:@types/lodash@^3.10.1", "@types/lru-cache": "^5.1.0", "@types/markdown-it": "^0.0.7", diff --git a/packages/kbn-config-schema/package.json b/packages/kbn-config-schema/package.json index 163b6058f3552..10b607dcd4312 100644 --- a/packages/kbn-config-schema/package.json +++ b/packages/kbn-config-schema/package.json @@ -14,7 +14,7 @@ "tsd": "^0.7.4" }, "peerDependencies": { - "lodash3": "npm:@elastic/lodash@3.10.1-kibana4", + "lodash": "^4.17.15", "joi": "^13.5.2", "moment": "^2.24.0", "type-detect": "^4.0.8" diff --git a/packages/kbn-config-schema/src/internals/index.ts b/packages/kbn-config-schema/src/internals/index.ts index aaf0e60c5fd34..f3756aaf90793 100644 --- a/packages/kbn-config-schema/src/internals/index.ts +++ b/packages/kbn-config-schema/src/internals/index.ts @@ -27,7 +27,7 @@ import { ValidationErrorItem, ValidationOptions, } from 'joi'; -import { isPlainObject } from 'lodash3'; +import { isPlainObject } from 'lodash'; import { isDuration } from 'moment'; import { Stream } from 'stream'; import { ByteSizeValue, ensureByteSizeValue } from '../byte_size_value'; diff --git a/renovate.json5 b/renovate.json5 index 08522ddb21eb2..49168c8227034 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -557,22 +557,6 @@ '@types/lodash3', ], }, - { - groupSlug: 'lodash3', - groupName: 'lodash3 related packages', - packageNames: [ - 'lodash3', - '@types/lodash3', - ], - }, - { - groupSlug: 'lodash4', - groupName: 'lodash4 related packages', - packageNames: [ - 'lodash4', - '@types/lodash4', - ], - }, { groupSlug: 'log-symbols', groupName: 'log-symbols related packages', diff --git a/src/apm.js b/src/apm.js index 99347e7b19e0a..3c3b416c2bad6 100644 --- a/src/apm.js +++ b/src/apm.js @@ -20,7 +20,7 @@ const { join } = require('path'); const { readFileSync } = require('fs'); const { execSync } = require('child_process'); -const merge = require('lodash4/merge'); +const merge = require('lodash/merge'); const { name, version, build } = require('../package.json'); const ROOT_DIR = join(__dirname, '..'); diff --git a/src/cli/cli.js b/src/cli/cli.js index d7d18998257af..50a8d4c7f7f01 100644 --- a/src/cli/cli.js +++ b/src/cli/cli.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { pkg } from '../core/server/utils'; import Command from './command'; import serveCommand from './serve/serve'; diff --git a/src/cli/cluster/cluster.mock.ts b/src/cli/cluster/cluster.mock.ts index 362d48d47ca86..332f8aad53ba1 100644 --- a/src/cli/cluster/cluster.mock.ts +++ b/src/cli/cluster/cluster.mock.ts @@ -20,7 +20,7 @@ // eslint-disable-next-line max-classes-per-file import EventEmitter from 'events'; -import { assign, random } from 'lodash4'; +import { assign, random } from 'lodash'; import { delay } from 'bluebird'; class MockClusterFork extends EventEmitter { diff --git a/src/cli/cluster/cluster_manager.test.ts b/src/cli/cluster/cluster_manager.test.ts index d20d169670d2b..2ddccae2fada6 100644 --- a/src/cli/cluster/cluster_manager.test.ts +++ b/src/cli/cluster/cluster_manager.test.ts @@ -50,7 +50,7 @@ const mockConfig: any = { }, }; -import { sample } from 'lodash4'; +import { sample } from 'lodash'; import { ClusterManager } from './cluster_manager'; import { Worker } from './worker'; diff --git a/src/cli/cluster/worker.ts b/src/cli/cluster/worker.ts index 8874c94905e44..097a549187429 100644 --- a/src/cli/cluster/worker.ts +++ b/src/cli/cluster/worker.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import cluster from 'cluster'; import { EventEmitter } from 'events'; diff --git a/src/cli/command.js b/src/cli/command.js index c9b8c67f7772e..f4781fcab1e20 100644 --- a/src/cli/command.js +++ b/src/cli/command.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import Chalk from 'chalk'; import help from './help'; diff --git a/src/cli/help.js b/src/cli/help.js index 6ed2aa27ad52d..0170cb53e19df 100644 --- a/src/cli/help.js +++ b/src/cli/help.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function help(command, spaces) { if (!_.size(command.commands)) { diff --git a/src/cli/serve/read_keystore.js b/src/cli/serve/read_keystore.js index 46839ba73fccb..cfe02735630f2 100644 --- a/src/cli/serve/read_keystore.js +++ b/src/cli/serve/read_keystore.js @@ -18,7 +18,7 @@ */ import path from 'path'; -import { set } from 'lodash4'; +import { set } from 'lodash'; import { Keystore } from '../../legacy/server/keystore'; import { getDataPath } from '../../core/server/path'; diff --git a/src/cli/serve/serve.js b/src/cli/serve/serve.js index 0dd8844d06f39..8bc65f3da7111 100644 --- a/src/cli/serve/serve.js +++ b/src/cli/serve/serve.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { statSync } from 'fs'; import { resolve } from 'path'; import url from 'url'; diff --git a/src/cli_keystore/cli_keystore.js b/src/cli_keystore/cli_keystore.js index 8d7f45e70bf88..e1561b343ef39 100644 --- a/src/cli_keystore/cli_keystore.js +++ b/src/cli_keystore/cli_keystore.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { join } from 'path'; import { pkg } from '../core/server/utils'; diff --git a/src/cli_plugin/cli.js b/src/cli_plugin/cli.js index 537a01b7ae6e7..da1068b54b4b5 100644 --- a/src/cli_plugin/cli.js +++ b/src/cli_plugin/cli.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { pkg } from '../core/server/utils'; import Command from '../cli/command'; import listCommand from './list'; diff --git a/src/cli_plugin/install/rename.js b/src/cli_plugin/install/rename.js index 7b4b86b6d136f..1e5d94d474375 100644 --- a/src/cli_plugin/install/rename.js +++ b/src/cli_plugin/install/rename.js @@ -18,7 +18,7 @@ */ import { rename } from 'fs'; -import { delay } from 'lodash4'; +import { delay } from 'lodash'; export function renamePlugin(workingPath, finalPath) { return new Promise(function (resolve, reject) { diff --git a/src/cli_plugin/install/zip.js b/src/cli_plugin/install/zip.js index 51e57c5b7a5c2..52eba2ea239a2 100644 --- a/src/cli_plugin/install/zip.js +++ b/src/cli_plugin/install/zip.js @@ -20,7 +20,7 @@ import yauzl from 'yauzl'; import path from 'path'; import { createWriteStream, mkdir } from 'fs'; -import { get } from 'lodash4'; +import { get } from 'lodash'; /** * Returns an array of package objects. There will be one for each of diff --git a/src/core/public/chrome/doc_title/doc_title_service.ts b/src/core/public/chrome/doc_title/doc_title_service.ts index 76a77dbae3ec0..c6e9ec7a40b77 100644 --- a/src/core/public/chrome/doc_title/doc_title_service.ts +++ b/src/core/public/chrome/doc_title/doc_title_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { compact, flattenDeep, isString } from 'lodash4'; +import { compact, flattenDeep, isString } from 'lodash'; interface StartDeps { document: { title: string }; diff --git a/src/core/public/chrome/nav_controls/nav_controls_service.ts b/src/core/public/chrome/nav_controls/nav_controls_service.ts index 37fd4bebcb95a..167948e01cb36 100644 --- a/src/core/public/chrome/nav_controls/nav_controls_service.ts +++ b/src/core/public/chrome/nav_controls/nav_controls_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; import { BehaviorSubject, ReplaySubject, Observable } from 'rxjs'; import { map, takeUntil } from 'rxjs/operators'; import { MountPoint } from '../../types'; diff --git a/src/core/public/chrome/nav_links/nav_links_service.ts b/src/core/public/chrome/nav_links/nav_links_service.ts index 8b82425341bff..3095bb86b72e2 100644 --- a/src/core/public/chrome/nav_links/nav_links_service.ts +++ b/src/core/public/chrome/nav_links/nav_links_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; import { BehaviorSubject, combineLatest, Observable, ReplaySubject } from 'rxjs'; import { map, takeUntil } from 'rxjs/operators'; diff --git a/src/core/public/chrome/recently_accessed/persisted_log.ts b/src/core/public/chrome/recently_accessed/persisted_log.ts index af6f51d12ffbc..ca94e0bcddfaf 100644 --- a/src/core/public/chrome/recently_accessed/persisted_log.ts +++ b/src/core/public/chrome/recently_accessed/persisted_log.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, isEqual, take } from 'lodash4'; +import { cloneDeep, isEqual, take } from 'lodash'; import * as Rx from 'rxjs'; import { map } from 'rxjs/operators'; diff --git a/src/core/public/chrome/ui/header/collapsible_nav.tsx b/src/core/public/chrome/ui/header/collapsible_nav.tsx index 9193e8bb23854..9494e22920de8 100644 --- a/src/core/public/chrome/ui/header/collapsible_nav.tsx +++ b/src/core/public/chrome/ui/header/collapsible_nav.tsx @@ -29,7 +29,7 @@ import { EuiText, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { groupBy, sortBy } from 'lodash4'; +import { groupBy, sortBy } from 'lodash'; import React, { useRef } from 'react'; import { useObservable } from 'react-use'; import * as Rx from 'rxjs'; diff --git a/src/core/public/injected_metadata/injected_metadata_service.ts b/src/core/public/injected_metadata/injected_metadata_service.ts index 8f382f9f8eaba..75abdd6d87d5a 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { DiscoveredPlugin, PluginName } from '../../server'; import { EnvironmentMode, diff --git a/src/core/public/overlays/banners/priority_map.ts b/src/core/public/overlays/banners/priority_map.ts index c942f884fe779..c6d493b380b4c 100644 --- a/src/core/public/overlays/banners/priority_map.ts +++ b/src/core/public/overlays/banners/priority_map.ts @@ -17,7 +17,7 @@ * under the License. */ -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; interface PriorityValue { readonly priority: number; diff --git a/src/core/public/plugins/plugin_context.ts b/src/core/public/plugins/plugin_context.ts index ee8b162cd1edb..65c6b6ce4edba 100644 --- a/src/core/public/plugins/plugin_context.ts +++ b/src/core/public/plugins/plugin_context.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash4'; +import { omit } from 'lodash'; import { DiscoveredPlugin } from '../../server'; import { PluginOpaqueId, PackageInfo, EnvironmentMode } from '../../server/types'; import { CoreContext } from '../core_system'; diff --git a/src/core/public/plugins/plugins_service.test.ts b/src/core/public/plugins/plugins_service.test.ts index 0de208f4a9f14..c20a95d3e5844 100644 --- a/src/core/public/plugins/plugins_service.test.ts +++ b/src/core/public/plugins/plugins_service.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit, pick } from 'lodash4'; +import { omit, pick } from 'lodash'; import { MockedPluginInitializer, diff --git a/src/core/public/saved_objects/saved_objects_client.ts b/src/core/public/saved_objects/saved_objects_client.ts index 0f7d89092241e..f7060fb76b69a 100644 --- a/src/core/public/saved_objects/saved_objects_client.ts +++ b/src/core/public/saved_objects/saved_objects_client.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, pick, throttle } from 'lodash4'; +import { cloneDeep, pick, throttle } from 'lodash'; import { resolve as resolveUrl } from 'url'; import { diff --git a/src/core/public/saved_objects/simple_saved_object.ts b/src/core/public/saved_objects/simple_saved_object.ts index f53a973c18654..51ed8f553919b 100644 --- a/src/core/public/saved_objects/simple_saved_object.ts +++ b/src/core/public/saved_objects/simple_saved_object.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, has, set } from 'lodash4'; +import { get, has, set } from 'lodash'; import { SavedObject as SavedObjectType } from '../../server'; import { SavedObjectsClientContract } from './saved_objects_client'; diff --git a/src/core/public/ui_settings/ui_settings_client.ts b/src/core/public/ui_settings/ui_settings_client.ts index e6ce9e5e8210a..2a7c3c2fab2f3 100644 --- a/src/core/public/ui_settings/ui_settings_client.ts +++ b/src/core/public/ui_settings/ui_settings_client.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, defaultsDeep } from 'lodash4'; +import { cloneDeep, defaultsDeep } from 'lodash'; import { Observable, Subject, concat, defer, of } from 'rxjs'; import { filter, map } from 'rxjs/operators'; diff --git a/src/core/server/capabilities/merge_capabilities.ts b/src/core/server/capabilities/merge_capabilities.ts index 372c2ba3dcb44..06869089598a9 100644 --- a/src/core/server/capabilities/merge_capabilities.ts +++ b/src/core/server/capabilities/merge_capabilities.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mergeWith } from 'lodash4'; +import { mergeWith } from 'lodash'; import { Capabilities } from './types'; export const mergeCapabilities = (...sources: Array>): Capabilities => diff --git a/src/core/server/capabilities/resolve_capabilities.ts b/src/core/server/capabilities/resolve_capabilities.ts index 101c5b899472c..1be504d4bc314 100644 --- a/src/core/server/capabilities/resolve_capabilities.ts +++ b/src/core/server/capabilities/resolve_capabilities.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { Capabilities, CapabilitiesSwitcher } from './types'; import { KibanaRequest } from '../http'; diff --git a/src/core/server/config/config_service.ts b/src/core/server/config/config_service.ts index f6fbb2c7fc845..bceba420bb6ce 100644 --- a/src/core/server/config/config_service.ts +++ b/src/core/server/config/config_service.ts @@ -18,7 +18,7 @@ */ import { Type } from '@kbn/config-schema'; -import { isEqual } from 'lodash4'; +import { isEqual } from 'lodash'; import { BehaviorSubject, combineLatest, Observable } from 'rxjs'; import { distinctUntilChanged, first, map, shareReplay, take } from 'rxjs/operators'; diff --git a/src/core/server/config/deprecation/apply_deprecations.ts b/src/core/server/config/deprecation/apply_deprecations.ts index 691167f451195..f7f95709ed846 100644 --- a/src/core/server/config/deprecation/apply_deprecations.ts +++ b/src/core/server/config/deprecation/apply_deprecations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { ConfigDeprecationWithContext, ConfigDeprecationLogger } from './types'; const noopLogger = (msg: string) => undefined; diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index 4d09d219ba109..81504875cef96 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { has, get } from 'lodash4'; +import { has, get } from 'lodash'; import { ConfigDeprecationProvider, ConfigDeprecation } from './types'; const configPathDeprecation: ConfigDeprecation = (settings, fromPath, log) => { diff --git a/src/core/server/config/deprecation/deprecation_factory.ts b/src/core/server/config/deprecation/deprecation_factory.ts index 4576b4cf51fde..0b19a99624311 100644 --- a/src/core/server/config/deprecation/deprecation_factory.ts +++ b/src/core/server/config/deprecation/deprecation_factory.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, set } from 'lodash4'; +import { get, set } from 'lodash'; import { ConfigDeprecation, ConfigDeprecationLogger, ConfigDeprecationFactory } from './types'; import { unset } from '../../../utils'; diff --git a/src/core/server/config/object_to_config_adapter.ts b/src/core/server/config/object_to_config_adapter.ts index 28d7dc40fafab..d4c2f73364060 100644 --- a/src/core/server/config/object_to_config_adapter.ts +++ b/src/core/server/config/object_to_config_adapter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, get, has, set } from 'lodash4'; +import { cloneDeep, get, has, set } from 'lodash'; import { getFlattenedObject } from '../../utils'; import { Config, ConfigPath } from './'; diff --git a/src/core/server/config/raw_config_service.ts b/src/core/server/config/raw_config_service.ts index b291a29d2775b..257ec612f3249 100644 --- a/src/core/server/config/raw_config_service.ts +++ b/src/core/server/config/raw_config_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, isPlainObject } from 'lodash4'; +import { cloneDeep, isPlainObject } from 'lodash'; import { Observable, ReplaySubject } from 'rxjs'; import { map } from 'rxjs/operators'; import typeDetect from 'type-detect'; diff --git a/src/core/server/config/read_config.ts b/src/core/server/config/read_config.ts index 128eb8f482b9d..eac3535c9d4ed 100644 --- a/src/core/server/config/read_config.ts +++ b/src/core/server/config/read_config.ts @@ -20,7 +20,7 @@ import { readFileSync } from 'fs'; import { safeLoad } from 'js-yaml'; -import { isPlainObject, set } from 'lodash4'; +import { isPlainObject, set } from 'lodash'; import { ensureDeepObject } from './ensure_deep_object'; const readYaml = (path: string) => safeLoad(readFileSync(path, 'utf8')); diff --git a/src/core/server/elasticsearch/cluster_client.test.ts b/src/core/server/elasticsearch/cluster_client.test.ts index 05a88dee00851..db277fa0e0607 100644 --- a/src/core/server/elasticsearch/cluster_client.test.ts +++ b/src/core/server/elasticsearch/cluster_client.test.ts @@ -26,7 +26,7 @@ import { } from './cluster_client.test.mocks'; import { errors } from 'elasticsearch'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { Logger } from '../logging'; import { loggingServiceMock } from '../logging/logging_service.mock'; import { httpServerMock } from '../http/http_server.mocks'; diff --git a/src/core/server/elasticsearch/cluster_client.ts b/src/core/server/elasticsearch/cluster_client.ts index 03579a9f0f4c0..2352677b8d3e0 100644 --- a/src/core/server/elasticsearch/cluster_client.ts +++ b/src/core/server/elasticsearch/cluster_client.ts @@ -17,7 +17,7 @@ * under the License. */ import { Client } from 'elasticsearch'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { ElasticsearchErrorHelpers } from './errors'; import { GetAuthHeaders, isRealRequest, LegacyRequest } from '../http'; diff --git a/src/core/server/elasticsearch/elasticsearch_client_config.ts b/src/core/server/elasticsearch/elasticsearch_client_config.ts index 9f63ec6e68c10..287d835c40351 100644 --- a/src/core/server/elasticsearch/elasticsearch_client_config.ts +++ b/src/core/server/elasticsearch/elasticsearch_client_config.ts @@ -18,7 +18,7 @@ */ import { ConfigOptions } from 'elasticsearch'; -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { Duration } from 'moment'; import { checkServerIdentity } from 'tls'; import url from 'url'; diff --git a/src/core/server/elasticsearch/errors.ts b/src/core/server/elasticsearch/errors.ts index a6204a9bc4140..bebf40b49426b 100644 --- a/src/core/server/elasticsearch/errors.ts +++ b/src/core/server/elasticsearch/errors.ts @@ -18,7 +18,7 @@ */ import Boom from 'boom'; -import { get } from 'lodash4'; +import { get } from 'lodash'; const code = Symbol('ElasticsearchError'); diff --git a/src/core/server/elasticsearch/scoped_cluster_client.ts b/src/core/server/elasticsearch/scoped_cluster_client.ts index b7f5d273b6abe..4b64bfba15190 100644 --- a/src/core/server/elasticsearch/scoped_cluster_client.ts +++ b/src/core/server/elasticsearch/scoped_cluster_client.ts @@ -17,7 +17,7 @@ * under the License. */ -import { intersection, isObject } from 'lodash4'; +import { intersection, isObject } from 'lodash'; import { Headers } from '../http/router'; import { APICaller, CallAPIOptions } from './api_types'; diff --git a/src/core/server/http/base_path_proxy_server.ts b/src/core/server/http/base_path_proxy_server.ts index a22f2c0921b0b..eccc9d013176c 100644 --- a/src/core/server/http/base_path_proxy_server.ts +++ b/src/core/server/http/base_path_proxy_server.ts @@ -24,7 +24,7 @@ import apm from 'elastic-apm-node'; import { ByteSizeValue } from '@kbn/config-schema'; import { Server, Request, ResponseToolkit } from 'hapi'; import HapiProxy from 'h2o2'; -import { sampleSize } from 'lodash4'; +import { sampleSize } from 'lodash'; import BrowserslistUserAgent from 'browserslist-useragent'; import * as Rx from 'rxjs'; import { take } from 'rxjs/operators'; diff --git a/src/core/server/http/http_server.mocks.ts b/src/core/server/http/http_server.mocks.ts index f13e5d0bed213..bbef0a105c089 100644 --- a/src/core/server/http/http_server.mocks.ts +++ b/src/core/server/http/http_server.mocks.ts @@ -17,7 +17,7 @@ * under the License. */ import { Request } from 'hapi'; -import { merge } from 'lodash4'; +import { merge } from 'lodash'; import { Socket } from 'net'; import { stringify } from 'query-string'; diff --git a/src/core/server/http/http_service.test.ts b/src/core/server/http/http_service.test.ts index cdd7a922921a6..8b500caf217dc 100644 --- a/src/core/server/http/http_service.test.ts +++ b/src/core/server/http/http_service.test.ts @@ -19,7 +19,7 @@ import { mockHttpServer } from './http_service.test.mocks'; -import { noop } from 'lodash4'; +import { noop } from 'lodash'; import { BehaviorSubject } from 'rxjs'; import { HttpService } from '.'; import { HttpConfigType, config } from './http_config'; diff --git a/src/core/server/legacy/config/get_unused_config_keys.ts b/src/core/server/legacy/config/get_unused_config_keys.ts index be31ba0356e7d..6cd193d896109 100644 --- a/src/core/server/legacy/config/get_unused_config_keys.ts +++ b/src/core/server/legacy/config/get_unused_config_keys.ts @@ -17,7 +17,7 @@ * under the License. */ -import { difference, get, set } from 'lodash4'; +import { difference, get, set } from 'lodash'; // @ts-ignore import { getTransform } from '../../../../legacy/deprecation/index'; import { unset } from '../../../../legacy/utils'; diff --git a/src/core/server/logging/layouts/conversions/date.ts b/src/core/server/logging/layouts/conversions/date.ts index 5dbb5c7ed49b0..d3ed54fb98240 100644 --- a/src/core/server/logging/layouts/conversions/date.ts +++ b/src/core/server/logging/layouts/conversions/date.ts @@ -17,7 +17,7 @@ * under the License. */ import moment from 'moment-timezone'; -import { last } from 'lodash4'; +import { last } from 'lodash'; import { Conversion } from './type'; import { LogRecord } from '../../log_record'; diff --git a/src/core/server/plugins/discovery/plugin_manifest_parser.ts b/src/core/server/plugins/discovery/plugin_manifest_parser.ts index ac6f93ef16b03..27c3ca5a71e16 100644 --- a/src/core/server/plugins/discovery/plugin_manifest_parser.ts +++ b/src/core/server/plugins/discovery/plugin_manifest_parser.ts @@ -21,7 +21,7 @@ import { readFile, stat } from 'fs'; import { resolve } from 'path'; import { coerce } from 'semver'; import { promisify } from 'util'; -import { snakeCase } from 'lodash4'; +import { snakeCase } from 'lodash'; import { isConfigPath, PackageInfo } from '../../config'; import { Logger } from '../../logging'; import { PluginManifest } from '../types'; diff --git a/src/core/server/saved_objects/mappings/lib/get_property.ts b/src/core/server/saved_objects/mappings/lib/get_property.ts index 0589c99b5bc0b..91b2b1239fc55 100644 --- a/src/core/server/saved_objects/mappings/lib/get_property.ts +++ b/src/core/server/saved_objects/mappings/lib/get_property.ts @@ -17,7 +17,7 @@ * under the License. */ -import { toPath } from 'lodash4'; +import { toPath } from 'lodash'; import { SavedObjectsCoreFieldMapping, SavedObjectsFieldMapping, IndexMapping } from '../types'; function getPropertyMappingFromObjectMapping( diff --git a/src/core/server/saved_objects/migrations/core/build_active_mappings.ts b/src/core/server/saved_objects/migrations/core/build_active_mappings.ts index 9b38038f59a18..c2a7b11e057cd 100644 --- a/src/core/server/saved_objects/migrations/core/build_active_mappings.ts +++ b/src/core/server/saved_objects/migrations/core/build_active_mappings.ts @@ -22,7 +22,7 @@ */ import crypto from 'crypto'; -import { cloneDeep, mapValues } from 'lodash4'; +import { cloneDeep, mapValues } from 'lodash'; import { IndexMapping, SavedObjectsMappingProperties, diff --git a/src/core/server/saved_objects/migrations/core/document_migrator.test.ts b/src/core/server/saved_objects/migrations/core/document_migrator.test.ts index bdd0b74b6f043..a364710322524 100644 --- a/src/core/server/saved_objects/migrations/core/document_migrator.test.ts +++ b/src/core/server/saved_objects/migrations/core/document_migrator.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectUnsanitizedDoc } from '../../serialization'; import { DocumentMigrator } from './document_migrator'; import { loggingServiceMock } from '../../../logging/logging_service.mock'; diff --git a/src/core/server/saved_objects/migrations/core/document_migrator.ts b/src/core/server/saved_objects/migrations/core/document_migrator.ts index d5a2b7432f36b..032d40b500eeb 100644 --- a/src/core/server/saved_objects/migrations/core/document_migrator.ts +++ b/src/core/server/saved_objects/migrations/core/document_migrator.ts @@ -61,7 +61,7 @@ */ import Boom from 'boom'; -import _ from 'lodash4'; +import _ from 'lodash'; import Semver from 'semver'; import { Logger } from '../../../logging'; import { SavedObjectUnsanitizedDoc } from '../../serialization'; diff --git a/src/core/server/saved_objects/migrations/core/elastic_index.test.ts b/src/core/server/saved_objects/migrations/core/elastic_index.test.ts index 2d104c00f32c7..393cbb7fbb2ae 100644 --- a/src/core/server/saved_objects/migrations/core/elastic_index.test.ts +++ b/src/core/server/saved_objects/migrations/core/elastic_index.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import * as Index from './elastic_index'; describe('ElasticIndex', () => { diff --git a/src/core/server/saved_objects/migrations/core/elastic_index.ts b/src/core/server/saved_objects/migrations/core/elastic_index.ts index cf8d5cb4a5f7c..e87c3e3ff0d64 100644 --- a/src/core/server/saved_objects/migrations/core/elastic_index.ts +++ b/src/core/server/saved_objects/migrations/core/elastic_index.ts @@ -22,7 +22,7 @@ * elasticsearch indices. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { IndexMapping } from '../../mappings'; import { SavedObjectsMigrationVersion } from '../../types'; import { AliasAction, CallCluster, NotFound, RawDoc, ShardsInfo } from './call_cluster'; diff --git a/src/core/server/saved_objects/migrations/core/index_migrator.test.ts b/src/core/server/saved_objects/migrations/core/index_migrator.test.ts index 35fdeb9dcfc2e..392089c69f5a0 100644 --- a/src/core/server/saved_objects/migrations/core/index_migrator.test.ts +++ b/src/core/server/saved_objects/migrations/core/index_migrator.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectUnsanitizedDoc, SavedObjectsSerializer } from '../../serialization'; import { SavedObjectTypeRegistry } from '../../saved_objects_type_registry'; import { IndexMigrator } from './index_migrator'; diff --git a/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts b/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts index cb18b71994300..e55b72be2436d 100644 --- a/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts +++ b/src/core/server/saved_objects/migrations/core/migrate_raw_docs.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectTypeRegistry } from '../../saved_objects_type_registry'; import { SavedObjectsSerializer } from '../../serialization'; import { migrateRawDocs } from './migrate_raw_docs'; diff --git a/src/core/server/saved_objects/migrations/core/migration_coordinator.ts b/src/core/server/saved_objects/migrations/core/migration_coordinator.ts index e2661b046ee67..2e32763f4e637 100644 --- a/src/core/server/saved_objects/migrations/core/migration_coordinator.ts +++ b/src/core/server/saved_objects/migrations/core/migration_coordinator.ts @@ -34,7 +34,7 @@ * Kibana. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectsMigrationLogger } from './migration_logger'; const DEFAULT_POLL_INTERVAL = 15000; diff --git a/src/core/server/saved_objects/serialization/serializer.test.ts b/src/core/server/saved_objects/serialization/serializer.test.ts index d89d9cb162fd7..1a7dfdd2d130e 100644 --- a/src/core/server/saved_objects/serialization/serializer.test.ts +++ b/src/core/server/saved_objects/serialization/serializer.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectsSerializer } from './serializer'; import { SavedObjectsRawDoc } from './types'; import { typeRegistryMock } from '../saved_objects_type_registry.mock'; diff --git a/src/core/server/saved_objects/service/lib/decorate_es_error.ts b/src/core/server/saved_objects/service/lib/decorate_es_error.ts index cc5ccc717c011..e57f08aa7a527 100644 --- a/src/core/server/saved_objects/service/lib/decorate_es_error.ts +++ b/src/core/server/saved_objects/service/lib/decorate_es_error.ts @@ -18,7 +18,7 @@ */ import * as legacyElasticsearch from 'elasticsearch'; -import { get } from 'lodash4'; +import { get } from 'lodash'; const { ConnectionFault, diff --git a/src/core/server/saved_objects/service/lib/filter_utils.ts b/src/core/server/saved_objects/service/lib/filter_utils.ts index 68a4b7cd32907..4c31f37f63dad 100644 --- a/src/core/server/saved_objects/service/lib/filter_utils.ts +++ b/src/core/server/saved_objects/service/lib/filter_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, set } from 'lodash4'; +import { get, set } from 'lodash'; import { SavedObjectsErrorHelpers } from './errors'; import { IndexMapping } from '../../mappings'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths diff --git a/src/core/server/saved_objects/service/lib/repository.ts b/src/core/server/saved_objects/service/lib/repository.ts index 2586d05e9569d..3b32a37afd061 100644 --- a/src/core/server/saved_objects/service/lib/repository.ts +++ b/src/core/server/saved_objects/service/lib/repository.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash4'; +import { omit } from 'lodash'; import uuid from 'uuid'; import { retryCallCluster } from '../../../elasticsearch/retry_call_cluster'; import { APICaller } from '../../../elasticsearch/'; diff --git a/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts b/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts index 8cf79e697ffde..55e32b1e3bb37 100644 --- a/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts +++ b/src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults } from 'lodash4'; +import { defaults } from 'lodash'; import { SavedObjectsClientContract } from '../../saved_objects/types'; import { SavedObjectsErrorHelpers } from '../../saved_objects/'; diff --git a/src/core/server/ui_settings/ui_settings_client.ts b/src/core/server/ui_settings/ui_settings_client.ts index 1cf5516324f75..f168784a93330 100644 --- a/src/core/server/ui_settings/ui_settings_client.ts +++ b/src/core/server/ui_settings/ui_settings_client.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { defaultsDeep, omit } from 'lodash4'; +import { defaultsDeep, omit } from 'lodash'; import { SavedObjectsErrorHelpers } from '../saved_objects'; import { SavedObjectsClientContract } from '../saved_objects/types'; diff --git a/src/core/utils/context.ts b/src/core/utils/context.ts index 02a6e56d900a7..941bbceb0cd92 100644 --- a/src/core/utils/context.ts +++ b/src/core/utils/context.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flatten } from 'lodash4'; +import { flatten } from 'lodash'; import { ShallowPromise } from '@kbn/utility-types'; import { pick } from '.'; import { CoreId, PluginOpaqueId } from '../server'; diff --git a/src/core/utils/merge.ts b/src/core/utils/merge.ts index d9d74152dcbd7..43878c27b1e19 100644 --- a/src/core/utils/merge.ts +++ b/src/core/utils/merge.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isPlainObject } from 'lodash4'; +import { isPlainObject } from 'lodash'; /** * Deeply merges two objects, omitting undefined values, and not deeply merging Arrays. * diff --git a/src/dev/npm/integration_tests/installed_packages.test.ts b/src/dev/npm/integration_tests/installed_packages.test.ts index e0cab4dedb476..58c954cbc12f7 100644 --- a/src/dev/npm/integration_tests/installed_packages.test.ts +++ b/src/dev/npm/integration_tests/installed_packages.test.ts @@ -19,7 +19,7 @@ import { resolve, sep } from 'path'; -import { uniq } from 'lodash4'; +import { uniq } from 'lodash'; import { getInstalledPackages, InstalledPackage } from '../installed_packages'; import { REPO_ROOT } from '../../constants'; diff --git a/src/dev/sass/build_sass.js b/src/dev/sass/build_sass.js index a3c7093f3e656..c86468e2a6517 100644 --- a/src/dev/sass/build_sass.js +++ b/src/dev/sass/build_sass.js @@ -27,7 +27,7 @@ import { findPluginSpecs } from '../../legacy/plugin_discovery'; import { collectUiExports } from '../../legacy/ui'; import { buildAll } from '../../legacy/server/sass/build_all'; import chokidar from 'chokidar'; -import debounce from 'lodash4/debounce'; +import debounce from 'lodash/debounce'; // TODO: clintandrewhall - Extract and use FSWatcher from legacy/server/sass const build = async ({ log, kibanaDir, styleSheetPaths, watch }) => { diff --git a/src/es_archiver/lib/__tests__/stats.ts b/src/es_archiver/lib/__tests__/stats.ts index 00dbcb9e2f513..0ab7d161feb6e 100644 --- a/src/es_archiver/lib/__tests__/stats.ts +++ b/src/es_archiver/lib/__tests__/stats.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash4'; +import { uniq } from 'lodash'; import sinon from 'sinon'; import expect from '@kbn/expect'; import { ToolingLog } from '@kbn/dev-utils'; diff --git a/src/es_archiver/lib/docs/__tests__/stubs.ts b/src/es_archiver/lib/docs/__tests__/stubs.ts index bc110168f0435..d8d961fa054ff 100644 --- a/src/es_archiver/lib/docs/__tests__/stubs.ts +++ b/src/es_archiver/lib/docs/__tests__/stubs.ts @@ -20,7 +20,7 @@ import { Client } from 'elasticsearch'; import sinon from 'sinon'; import Chance from 'chance'; -import { times } from 'lodash4'; +import { times } from 'lodash'; import { Stats } from '../../stats'; diff --git a/src/es_archiver/lib/indices/create_index_stream.ts b/src/es_archiver/lib/indices/create_index_stream.ts index e096f416d43b5..df9d3bb623ad6 100644 --- a/src/es_archiver/lib/indices/create_index_stream.ts +++ b/src/es_archiver/lib/indices/create_index_stream.ts @@ -18,7 +18,7 @@ */ import { Transform, Readable } from 'stream'; -import { get, once } from 'lodash4'; +import { get, once } from 'lodash'; import { Client } from 'elasticsearch'; import { ToolingLog } from '@kbn/dev-utils'; diff --git a/src/es_archiver/lib/indices/delete_index.ts b/src/es_archiver/lib/indices/delete_index.ts index 5e1a84b259fa8..d7ef20b072b26 100644 --- a/src/es_archiver/lib/indices/delete_index.ts +++ b/src/es_archiver/lib/indices/delete_index.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { Client } from 'elasticsearch'; import { ToolingLog } from '@kbn/dev-utils'; import { Stats } from '../stats'; diff --git a/src/es_archiver/lib/stats.ts b/src/es_archiver/lib/stats.ts index a9c12c9842fe4..c7b98c42d3efb 100644 --- a/src/es_archiver/lib/stats.ts +++ b/src/es_archiver/lib/stats.ts @@ -18,7 +18,7 @@ */ import { ToolingLog } from '@kbn/dev-utils'; -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; export interface IndexStats { skipped: boolean; diff --git a/src/fixtures/agg_resp/geohash_grid.js b/src/fixtures/agg_resp/geohash_grid.js index 01c79e37c22e6..fde1e54b0661d 100644 --- a/src/fixtures/agg_resp/geohash_grid.js +++ b/src/fixtures/agg_resp/geohash_grid.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function GeoHashGridAggResponseFixture() { // for vis: // diff --git a/src/fixtures/mock_state.js b/src/fixtures/mock_state.js index f2dac448359bd..e78c919b5036b 100644 --- a/src/fixtures/mock_state.js +++ b/src/fixtures/mock_state.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import sinon from 'sinon'; function MockState(defaults) { diff --git a/src/fixtures/mock_ui_state.js b/src/fixtures/mock_ui_state.js index 3cf3e3cea7c9b..919274390d4d0 100644 --- a/src/fixtures/mock_ui_state.js +++ b/src/fixtures/mock_ui_state.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; let values = {}; export default { get: function (path, def) { diff --git a/src/legacy/core_plugins/apm_oss/index.js b/src/legacy/core_plugins/apm_oss/index.js index 33942db0d49fc..b7ab6797c0de9 100644 --- a/src/legacy/core_plugins/apm_oss/index.js +++ b/src/legacy/core_plugins/apm_oss/index.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function apmOss(kibana) { return new kibana.Plugin({ diff --git a/src/legacy/core_plugins/console_legacy/index.ts b/src/legacy/core_plugins/console_legacy/index.ts index e0fac123f7072..82e00a99c6cfd 100644 --- a/src/legacy/core_plugins/console_legacy/index.ts +++ b/src/legacy/core_plugins/console_legacy/index.ts @@ -18,7 +18,7 @@ */ import { first } from 'rxjs/operators'; -import { head } from 'lodash4'; +import { head } from 'lodash'; import url from 'url'; // TODO: Remove this hack once we can get the ES config we need for Console proxy a better way. diff --git a/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js b/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js index b3ce262fc3de7..d76b2a2aa9364 100644 --- a/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js +++ b/src/legacy/core_plugins/elasticsearch/server/lib/handle_es_error.js @@ -18,7 +18,7 @@ */ import Boom from 'boom'; -import _ from 'lodash4'; +import _ from 'lodash'; import { errors as esErrors } from 'elasticsearch'; export function handleESError(error) { diff --git a/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js b/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js index a57274e5e1aeb..504b00808718b 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/discover/doc_table.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; import expect from '@kbn/expect'; -import _ from 'lodash4'; +import _ from 'lodash'; import ngMock from 'ng_mock'; import 'ui/private'; import { pluginInstance } from './legacy'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js b/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js index a39bd6e3af118..29c301bf065c4 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/discover/row_headers.js @@ -17,7 +17,7 @@ * under the License. */ import angular from 'angular'; -import _ from 'lodash4'; +import _ from 'lodash'; import sinon from 'sinon'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js index e5c69187b26df..88eb299e3c3a8 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_table/agg_table.js @@ -25,7 +25,7 @@ import sinon from 'sinon'; import './legacy'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { npStart } from 'ui/new_platform'; -import { round } from 'lodash4'; +import { round } from 'lodash'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { getInnerAngular } from '../../../../../../plugins/vis_type_table/public/get_inner_angular'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js index 5ad7f3e87dee5..35c7b77687b94 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_tagcloud/tag_cloud.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import { fromNode, delay } from 'bluebird'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js index f7895b6b6d206..7a68e847f13b1 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/_vis_fixture.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import { Vis } from '../../../../../../plugins/vis_type_vislib/public/vislib/vis'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js index e18f3fc7c2c8f..6790c49691dfd 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/chart_title.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash4'; +import _ from 'lodash'; import expect from '@kbn/expect'; import { ChartTitle } from '../../../../../../../plugins/vis_type_vislib/public/vislib/lib/chart_title'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js index cbe67a389351e..20281d8479ab4 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/lib/dispatch.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js index 92f0e86b6738b..36decdc415ed8 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/vis.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js index ddac8b3e330af..fd2240c0c64c5 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/area_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js index 3b348709d2aaa..6b7ccaed25d49 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/column_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js index 2f7bf34af28cd..7c588800ae659 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/gauge_chart.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import expect from '@kbn/expect'; import data from '../../../../../../../plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js index 4786e2bfc356b..9fa51fb59ed48 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/heatmap_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import d3 from 'd3'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js index 4c45baf729095..dae92c831cd8d 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/line_chart.js @@ -20,7 +20,7 @@ import d3 from 'd3'; import expect from '@kbn/expect'; import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; // Data import seriesPos from '../../../../../../../plugins/vis_type_vislib/public/fixtures/mock_data/date_histogram/_series'; diff --git a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js index fbaac945b2535..d245905729c7e 100644 --- a/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js +++ b/src/legacy/core_plugins/kibana/public/__tests__/vis_type_vislib/visualizations/pie_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import expect from '@kbn/expect'; diff --git a/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js b/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js index 537a6ad88d7ec..913ebff588f84 100644 --- a/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js +++ b/src/legacy/core_plugins/kibana/server/lib/export/export_dashboards.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { collectReferencesDeep } from './collect_references_deep'; export async function exportDashboards(req) { diff --git a/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js b/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js index 633e2bdf2e4fe..7c28b184144f1 100644 --- a/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js +++ b/src/legacy/core_plugins/kibana/server/lib/import/import_dashboards.js @@ -17,7 +17,7 @@ * under the License. */ -import { flatten } from 'lodash4'; +import { flatten } from 'lodash'; export async function importDashboards(req) { const { payload } = req; diff --git a/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js b/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js index 35be2bb8bb99b..e0a6c574b7ad8 100644 --- a/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js +++ b/src/legacy/core_plugins/kibana/server/lib/management/saved_objects/relationships.js @@ -17,7 +17,7 @@ * under the License. */ -import { pick } from 'lodash4'; +import { pick } from 'lodash'; import { injectMetaAttributes } from './inject_meta_attributes'; export async function findRelationships(type, id, options = {}) { diff --git a/src/legacy/core_plugins/status_page/public/lib/load_status.js b/src/legacy/core_plugins/status_page/public/lib/load_status.js index 5318db1378f5e..d033e5f147d9d 100644 --- a/src/legacy/core_plugins/status_page/public/lib/load_status.js +++ b/src/legacy/core_plugins/status_page/public/lib/load_status.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import chrome from 'ui/chrome'; import { toastNotifications } from 'ui/notify'; diff --git a/src/legacy/core_plugins/tests_bundle/find_source_files.js b/src/legacy/core_plugins/tests_bundle/find_source_files.js index abf3b4507fb96..eed88a5ecb8b0 100644 --- a/src/legacy/core_plugins/tests_bundle/find_source_files.js +++ b/src/legacy/core_plugins/tests_bundle/find_source_files.js @@ -19,7 +19,7 @@ // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { fromRoot } from '../../../core/server/utils'; -import { chain } from 'lodash4'; +import { chain } from 'lodash'; import { resolve } from 'path'; import { fromNode } from 'bluebird'; import glob from 'glob-all'; diff --git a/src/legacy/core_plugins/timelion/public/app.js b/src/legacy/core_plugins/timelion/public/app.js index 68151cb21368c..602b221b7d14d 100644 --- a/src/legacy/core_plugins/timelion/public/app.js +++ b/src/legacy/core_plugins/timelion/public/app.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // required for `ngSanitize` angular module import 'angular-sanitize'; diff --git a/src/legacy/core_plugins/timelion/public/directives/cells/cells.js b/src/legacy/core_plugins/timelion/public/directives/cells/cells.js index a782d5f00fa31..104af3b1043d6 100644 --- a/src/legacy/core_plugins/timelion/public/directives/cells/cells.js +++ b/src/legacy/core_plugins/timelion/public/directives/cells/cells.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { move } from 'ui/utils/collection'; require('angular-sortable-view'); diff --git a/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js b/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js index ce10ab4074c64..ae042310fd464 100644 --- a/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js +++ b/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import rison from 'rison-node'; import { uiModules } from 'ui/modules'; import 'ui/directives/input_focus'; diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js index 04b97a99cedc3..2102b02194bc8 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input.js @@ -40,7 +40,7 @@ * that has more than a single consecutive newline. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import PEG from 'pegjs'; import grammar from 'raw-loader!../../../../../plugins/vis_type_timelion/common/chain.peg'; diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js index 3c012eb7baee5..20edee82f9486 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_expression_input_helpers.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export const SUGGESTION_TYPE = { ARGUMENTS: 'arguments', diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js b/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js index 1022e51b4b129..25f3df13153ba 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_help/timelion_help.js @@ -20,7 +20,7 @@ import template from './timelion_help.html'; import { i18n } from '@kbn/i18n'; import { uiModules } from 'ui/modules'; -import _ from 'lodash4'; +import _ from 'lodash'; import moment from 'moment'; import '../../components/timelionhelp_tabs_directive'; diff --git a/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js b/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js index d301bc7bb72db..3750e15c000e7 100644 --- a/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js +++ b/src/legacy/core_plugins/timelion/public/directives/timelion_interval/timelion_interval.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import template from './timelion_interval.html'; diff --git a/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts b/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts index 868e5271f0e43..087e166925327 100644 --- a/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts +++ b/src/legacy/core_plugins/timelion/public/panels/timechart/schema.ts @@ -19,7 +19,7 @@ // eslint-disable-next-line @kbn/eslint/no-restricted-paths import '../../../../../../plugins/vis_type_timelion/public/flot'; -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import moment from 'moment-timezone'; import { timefilter } from 'ui/timefilter'; diff --git a/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts b/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts index 5fd12857b17b1..8122259f1c991 100644 --- a/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts +++ b/src/legacy/core_plugins/timelion/public/shim/timelion_legacy_module.ts @@ -22,7 +22,7 @@ import 'brace/mode/hjson'; import 'brace/ext/searchbox'; import 'ui/accessibility/kbn_ui_ace_keyboard_mode'; -import { once } from 'lodash4'; +import { once } from 'lodash'; // @ts-ignore import { uiModules } from 'ui/modules'; import { Panel } from '../panels/panel'; diff --git a/src/legacy/deprecation/create_transform.js b/src/legacy/deprecation/create_transform.js index 94a5c6cd0805d..72e8e153ed819 100644 --- a/src/legacy/deprecation/create_transform.js +++ b/src/legacy/deprecation/create_transform.js @@ -18,7 +18,7 @@ */ import { deepCloneWithBuffers as clone } from '../utils'; -import { forEach, noop } from 'lodash4'; +import { forEach, noop } from 'lodash'; export function createTransform(deprecations) { return (settings, log = noop) => { diff --git a/src/legacy/deprecation/deprecations/rename.js b/src/legacy/deprecation/deprecations/rename.js index 0f82954f081a7..b47a745519b1e 100644 --- a/src/legacy/deprecation/deprecations/rename.js +++ b/src/legacy/deprecation/deprecations/rename.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, isUndefined, noop, set } from 'lodash4'; +import { get, isUndefined, noop, set } from 'lodash'; import { unset } from '../../utils'; export function rename(oldKey, newKey) { diff --git a/src/legacy/deprecation/deprecations/unused.js b/src/legacy/deprecation/deprecations/unused.js index 4eb76c3489098..4291063dc482b 100644 --- a/src/legacy/deprecation/deprecations/unused.js +++ b/src/legacy/deprecation/deprecations/unused.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, isUndefined, noop } from 'lodash4'; +import { get, isUndefined, noop } from 'lodash'; import { unset } from '../../utils'; export function unused(oldKey) { diff --git a/src/legacy/deprecation/get_transform.js b/src/legacy/deprecation/get_transform.js index 93f4776a4f9b6..bf286901af62c 100644 --- a/src/legacy/deprecation/get_transform.js +++ b/src/legacy/deprecation/get_transform.js @@ -17,7 +17,7 @@ * under the License. */ -import { noop } from 'lodash4'; +import { noop } from 'lodash'; import { createTransform } from './create_transform'; import { rename, unused } from './deprecations'; diff --git a/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js b/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js index 5aa8689710999..e6af23d69c549 100644 --- a/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js +++ b/src/legacy/plugin_discovery/__tests__/find_plugin_specs.js @@ -21,7 +21,7 @@ import { resolve } from 'path'; import { toArray } from 'rxjs/operators'; import expect from '@kbn/expect'; -import { isEqual } from 'lodash4'; +import { isEqual } from 'lodash'; import { findPluginSpecs } from '../find_plugin_specs'; import { PluginSpec } from '../plugin_spec'; diff --git a/src/legacy/plugin_discovery/plugin_config/settings.js b/src/legacy/plugin_discovery/plugin_config/settings.js index cf9c49003bf92..44ecb5718fe21 100644 --- a/src/legacy/plugin_discovery/plugin_config/settings.js +++ b/src/legacy/plugin_discovery/plugin_config/settings.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { getTransform } from '../../deprecation'; diff --git a/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js b/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js index 28a4a29516ce1..db1ec425f2ce5 100644 --- a/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js +++ b/src/legacy/plugin_discovery/plugin_spec/plugin_spec.js @@ -19,7 +19,7 @@ import { resolve, basename, isAbsolute as isAbsolutePath } from 'path'; -import { get, toPath } from 'lodash4'; +import { get, toPath } from 'lodash'; import { createInvalidPluginError } from '../errors'; import { isVersionCompatible } from './is_version_compatible'; diff --git a/src/legacy/server/config/config.js b/src/legacy/server/config/config.js index 00a1d21441f49..d32ec29e6d701 100644 --- a/src/legacy/server/config/config.js +++ b/src/legacy/server/config/config.js @@ -18,7 +18,7 @@ */ import Joi from 'joi'; -import _ from 'lodash4'; +import _ from 'lodash'; import { override } from './override'; import createDefaultSchema from './schema'; import { unset, deepCloneWithBuffers as clone, IS_KIBANA_DISTRIBUTABLE } from '../../utils'; diff --git a/src/legacy/server/config/config.test.js b/src/legacy/server/config/config.test.js index 0a8f8d9d668c0..d7dec19b7ca6e 100644 --- a/src/legacy/server/config/config.test.js +++ b/src/legacy/server/config/config.test.js @@ -18,7 +18,7 @@ */ import { Config } from './config'; -import _ from 'lodash4'; +import _ from 'lodash'; import Joi from 'joi'; /** diff --git a/src/legacy/server/http/index.js b/src/legacy/server/http/index.js index 8d201b1cd34b2..2d62d12dfd9f3 100644 --- a/src/legacy/server/http/index.js +++ b/src/legacy/server/http/index.js @@ -18,7 +18,7 @@ */ import { format } from 'url'; -import _ from 'lodash4'; +import _ from 'lodash'; import Boom from 'boom'; import { registerHapiPlugins } from './register_hapi_plugins'; diff --git a/src/legacy/server/i18n/localization/file_integrity.ts b/src/legacy/server/i18n/localization/file_integrity.ts index e88b625dc7d50..7400d84ea2ce7 100644 --- a/src/legacy/server/i18n/localization/file_integrity.ts +++ b/src/legacy/server/i18n/localization/file_integrity.ts @@ -19,7 +19,7 @@ import { createHash } from 'crypto'; import * as fs from 'fs'; -import { zipObject } from 'lodash4'; +import { zipObject } from 'lodash'; import * as stream from 'stream'; import * as util from 'util'; diff --git a/src/legacy/server/i18n/localization/telemetry_localization_collector.ts b/src/legacy/server/i18n/localization/telemetry_localization_collector.ts index 4019230b888ec..89566dfd4ef68 100644 --- a/src/legacy/server/i18n/localization/telemetry_localization_collector.ts +++ b/src/legacy/server/i18n/localization/telemetry_localization_collector.ts @@ -18,7 +18,7 @@ */ import { i18nLoader } from '@kbn/i18n'; -import { size } from 'lodash4'; +import { size } from 'lodash'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; import { getIntegrityHashes, Integrities } from './file_integrity'; import { KIBANA_LOCALIZATION_STATS_TYPE } from '../constants'; diff --git a/src/legacy/server/kbn_server.js b/src/legacy/server/kbn_server.js index d10fb92fa3b84..1168d24254911 100644 --- a/src/legacy/server/kbn_server.js +++ b/src/legacy/server/kbn_server.js @@ -17,7 +17,7 @@ * under the License. */ -import { constant, once, compact, flatten } from 'lodash4'; +import { constant, once, compact, flatten } from 'lodash'; import { isWorker } from 'cluster'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths diff --git a/src/legacy/server/logging/configuration.js b/src/legacy/server/logging/configuration.js index e075416efc449..267dc9a334de8 100644 --- a/src/legacy/server/logging/configuration.js +++ b/src/legacy/server/logging/configuration.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { getLoggerStream } from './log_reporter'; export default function loggingConfiguration(config) { diff --git a/src/legacy/server/logging/log_format.js b/src/legacy/server/logging/log_format.js index 5cac5cedca365..8a80cbef1a9c5 100644 --- a/src/legacy/server/logging/log_format.js +++ b/src/legacy/server/logging/log_format.js @@ -19,7 +19,7 @@ import Stream from 'stream'; import moment from 'moment-timezone'; -import { get, _ } from 'lodash4'; +import { get, _ } from 'lodash'; import queryString from 'query-string'; import numeral from '@elastic/numeral'; import chalk from 'chalk'; diff --git a/src/legacy/server/logging/log_format_string.js b/src/legacy/server/logging/log_format_string.js index 9f181a1262a8e..3c18aab2e3d09 100644 --- a/src/legacy/server/logging/log_format_string.js +++ b/src/legacy/server/logging/log_format_string.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import chalk from 'chalk'; import LogFormat from './log_format'; diff --git a/src/legacy/server/logging/log_interceptor.js b/src/legacy/server/logging/log_interceptor.js index 5ed9a7378f02c..0754557044583 100644 --- a/src/legacy/server/logging/log_interceptor.js +++ b/src/legacy/server/logging/log_interceptor.js @@ -18,7 +18,7 @@ */ import Stream from 'stream'; -import { get, isEqual } from 'lodash4'; +import { get, isEqual } from 'lodash'; const GET_CLIENT_HELLO = /GET_CLIENT_HELLO:http/; diff --git a/src/legacy/server/logging/log_with_metadata.js b/src/legacy/server/logging/log_with_metadata.js index a170558b9c226..73e03a154907a 100644 --- a/src/legacy/server/logging/log_with_metadata.js +++ b/src/legacy/server/logging/log_with_metadata.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isPlainObject } from 'lodash4'; +import { isPlainObject } from 'lodash'; import { metadataSymbol, diff --git a/src/legacy/server/logging/rotate/log_rotator.test.ts b/src/legacy/server/logging/rotate/log_rotator.test.ts index 60ec51fbd2507..70842d42f5e1f 100644 --- a/src/legacy/server/logging/rotate/log_rotator.test.ts +++ b/src/legacy/server/logging/rotate/log_rotator.test.ts @@ -31,8 +31,8 @@ jest.mock('chokidar', () => ({ })), })); -jest.mock('lodash4', () => ({ - ...require.requireActual('lodash4'), +jest.mock('lodash', () => ({ + ...require.requireActual('lodash'), throttle: (fn: any) => fn, })); diff --git a/src/legacy/server/logging/rotate/log_rotator.ts b/src/legacy/server/logging/rotate/log_rotator.ts index d6072ec54b5a3..22183b2f0777a 100644 --- a/src/legacy/server/logging/rotate/log_rotator.ts +++ b/src/legacy/server/logging/rotate/log_rotator.ts @@ -21,7 +21,7 @@ import * as chokidar from 'chokidar'; import { isMaster } from 'cluster'; import fs from 'fs'; import { Server } from 'hapi'; -import { throttle } from 'lodash4'; +import { throttle } from 'lodash'; import { tmpdir } from 'os'; import { basename, dirname, join, sep } from 'path'; import { Observable } from 'rxjs'; diff --git a/src/legacy/server/pid/index.js b/src/legacy/server/pid/index.js index 8e961e32719d1..d7b9da1292252 100644 --- a/src/legacy/server/pid/index.js +++ b/src/legacy/server/pid/index.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import Boom from 'boom'; import Bluebird from 'bluebird'; import { unlinkSync as unlink } from 'fs'; diff --git a/src/legacy/server/plugins/lib/call_plugin_hook.js b/src/legacy/server/plugins/lib/call_plugin_hook.js index c551f16fd8590..b665869f5d25f 100644 --- a/src/legacy/server/plugins/lib/call_plugin_hook.js +++ b/src/legacy/server/plugins/lib/call_plugin_hook.js @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash4'; +import { last } from 'lodash'; export async function callPluginHook(hookName, plugins, id, history) { const plugin = plugins.find((plugin) => plugin.id === id); diff --git a/src/legacy/server/plugins/lib/plugin.js b/src/legacy/server/plugins/lib/plugin.js index ace1926219e56..2b392d13d595a 100644 --- a/src/legacy/server/plugins/lib/plugin.js +++ b/src/legacy/server/plugins/lib/plugin.js @@ -17,7 +17,7 @@ * under the License. */ -import { once } from 'lodash4'; +import { once } from 'lodash'; /** * The server plugin class, used to extend the server diff --git a/src/legacy/server/status/index.js b/src/legacy/server/status/index.js index cd509a2eff951..377a5d74610a9 100644 --- a/src/legacy/server/status/index.js +++ b/src/legacy/server/status/index.js @@ -21,7 +21,7 @@ import ServerStatus from './server_status'; import { Metrics } from './lib/metrics'; import { registerStatusPage, registerStatusApi, registerStatsApi } from './routes'; import Oppsy from 'oppsy'; -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { getOSInfo } from './lib/get_os_info'; export function statusMixin(kbnServer, server, config) { diff --git a/src/legacy/server/status/lib/case_conversion.ts b/src/legacy/server/status/lib/case_conversion.ts index 9a574c28e963f..a3ae15028daeb 100644 --- a/src/legacy/server/status/lib/case_conversion.ts +++ b/src/legacy/server/status/lib/case_conversion.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapKeys, snakeCase } from 'lodash4'; +import { mapKeys, snakeCase } from 'lodash'; export function keysToSnakeCaseShallow(object: Record) { return mapKeys(object, (value, key) => snakeCase(key)); diff --git a/src/legacy/server/status/lib/get_kibana_info_for_stats.js b/src/legacy/server/status/lib/get_kibana_info_for_stats.js index db48c2e8d9e03..62628a2c40ff9 100644 --- a/src/legacy/server/status/lib/get_kibana_info_for_stats.js +++ b/src/legacy/server/status/lib/get_kibana_info_for_stats.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; const snapshotRegex = /-snapshot/i; diff --git a/src/legacy/server/status/lib/metrics.js b/src/legacy/server/status/lib/metrics.js index 1bd907ea92ffd..2631b245e72ab 100644 --- a/src/legacy/server/status/lib/metrics.js +++ b/src/legacy/server/status/lib/metrics.js @@ -19,7 +19,7 @@ import os from 'os'; import v8 from 'v8'; -import { get, isObject, merge } from 'lodash4'; +import { get, isObject, merge } from 'lodash'; import { keysToSnakeCaseShallow } from './case_conversion'; import { getAllStats as cGroupStats } from './cgroup'; import { getOSInfo } from './get_os_info'; diff --git a/src/legacy/server/status/lib/metrics.test.js b/src/legacy/server/status/lib/metrics.test.js index b53519d043e46..6a734941eb70c 100644 --- a/src/legacy/server/status/lib/metrics.test.js +++ b/src/legacy/server/status/lib/metrics.test.js @@ -35,7 +35,7 @@ jest.mock('process', () => ({ import fs from 'fs'; import os from 'os'; -import _ from 'lodash4'; +import _ from 'lodash'; import sinon from 'sinon'; import { cGroups as cGroupsFsStub, setMockFiles, readFileMock } from './__mocks__/_fs_stubs'; import { Metrics } from './metrics'; diff --git a/src/legacy/server/status/samples.js b/src/legacy/server/status/samples.js index 772faf47eb6a3..9c41e29945a77 100644 --- a/src/legacy/server/status/samples.js +++ b/src/legacy/server/status/samples.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; function Samples(max) { this.vals = {}; diff --git a/src/legacy/server/status/server_status.js b/src/legacy/server/status/server_status.js index 7b59f719e99a2..81d07de55faaf 100644 --- a/src/legacy/server/status/server_status.js +++ b/src/legacy/server/status/server_status.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import * as states from './states'; import Status from './status'; diff --git a/src/legacy/server/status/server_status.test.js b/src/legacy/server/status/server_status.test.js index 7f13d843665bd..bf94d693b1310 100644 --- a/src/legacy/server/status/server_status.test.js +++ b/src/legacy/server/status/server_status.test.js @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash4'; +import { find } from 'lodash'; import sinon from 'sinon'; import * as states from './states'; diff --git a/src/legacy/server/status/states.js b/src/legacy/server/status/states.js index 71fe88a15ffba..4a34684571c3c 100644 --- a/src/legacy/server/status/states.js +++ b/src/legacy/server/status/states.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; export const getAll = () => [ diff --git a/src/legacy/server/status/wrap_auth_config.js b/src/legacy/server/status/wrap_auth_config.js index 1b5f1749cc362..04e71a02d30de 100644 --- a/src/legacy/server/status/wrap_auth_config.js +++ b/src/legacy/server/status/wrap_auth_config.js @@ -17,7 +17,7 @@ * under the License. */ -import { assign, identity } from 'lodash4'; +import { assign, identity } from 'lodash'; export const wrapAuthConfig = (allowAnonymous) => { if (allowAnonymous) { diff --git a/src/legacy/ui/public/__tests__/events.js b/src/legacy/ui/public/__tests__/events.js index 0564a08c28eb9..c225c2a8ac1c0 100644 --- a/src/legacy/ui/public/__tests__/events.js +++ b/src/legacy/ui/public/__tests__/events.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import sinon from 'sinon'; import ngMock from 'ng_mock'; import { EventsProvider } from '../events'; diff --git a/src/legacy/ui/public/bound_to_config_obj.js b/src/legacy/ui/public/bound_to_config_obj.js index 71e0bd953bc26..dc1eedebe2b77 100644 --- a/src/legacy/ui/public/bound_to_config_obj.js +++ b/src/legacy/ui/public/bound_to_config_obj.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function BoundToConfigObjProvider(config) { /** diff --git a/src/legacy/ui/public/chrome/__mocks__/index.js b/src/legacy/ui/public/chrome/__mocks__/index.js index f127c4fc6af90..d6f0df83a0e3d 100644 --- a/src/legacy/ui/public/chrome/__mocks__/index.js +++ b/src/legacy/ui/public/chrome/__mocks__/index.js @@ -42,7 +42,7 @@ const chrome = { export default chrome; // Copied from `src/legacy/ui/public/chrome/chrome.js` -import _ from 'lodash4'; +import _ from 'lodash'; import angular from 'angular'; import { metadata } from '../../metadata'; diff --git a/src/legacy/ui/public/chrome/api/__tests__/angular.js b/src/legacy/ui/public/chrome/api/__tests__/angular.js index a09cc5920e907..797498a24265e 100644 --- a/src/legacy/ui/public/chrome/api/__tests__/angular.js +++ b/src/legacy/ui/public/chrome/api/__tests__/angular.js @@ -18,7 +18,7 @@ */ import { initAngularApi } from '../angular'; -import { noop } from 'lodash4'; +import { noop } from 'lodash'; describe('Chrome API :: Angular', () => { describe('location helper methods', () => { diff --git a/src/legacy/ui/public/chrome/api/apps.js b/src/legacy/ui/public/chrome/api/apps.js index 97cd34517029b..c4cbe7be6f1c3 100644 --- a/src/legacy/ui/public/chrome/api/apps.js +++ b/src/legacy/ui/public/chrome/api/apps.js @@ -17,7 +17,7 @@ * under the License. */ -import { clone, get } from 'lodash4'; +import { clone, get } from 'lodash'; import { resolve } from 'url'; // eslint-disable-next-line import/no-default-export diff --git a/src/legacy/ui/public/chrome/api/injected_vars.ts b/src/legacy/ui/public/chrome/api/injected_vars.ts index b3c6697d7c864..a827c1bf65f51 100644 --- a/src/legacy/ui/public/chrome/api/injected_vars.ts +++ b/src/legacy/ui/public/chrome/api/injected_vars.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { npSetup } from 'ui/new_platform'; const newPlatformInjectedVars = npSetup.core.injectedMetadata; diff --git a/src/legacy/ui/public/chrome/chrome.js b/src/legacy/ui/public/chrome/chrome.js index e6ead16ab1baf..0640017f7806a 100644 --- a/src/legacy/ui/public/chrome/chrome.js +++ b/src/legacy/ui/public/chrome/chrome.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import angular from 'angular'; import { metadata } from '../metadata'; diff --git a/src/legacy/ui/public/config/config.js b/src/legacy/ui/public/config/config.js index abe7b285d670d..a8f24c126caff 100644 --- a/src/legacy/ui/public/config/config.js +++ b/src/legacy/ui/public/config/config.js @@ -20,7 +20,7 @@ import angular from 'angular'; import { fatalError } from 'ui/notify/fatal_error'; import chrome from '../chrome'; -import { isPlainObject } from 'lodash4'; +import { isPlainObject } from 'lodash'; import { uiModules } from '../modules'; import { subscribeWithScope } from '../../../../plugins/kibana_legacy/public'; diff --git a/src/legacy/ui/public/directives/kbn_href.js b/src/legacy/ui/public/directives/kbn_href.js index f82341121c9bb..5c71396e6c4de 100644 --- a/src/legacy/ui/public/directives/kbn_href.js +++ b/src/legacy/ui/public/directives/kbn_href.js @@ -18,7 +18,7 @@ */ import { uiModules } from '../modules'; -import { words, kebabCase } from 'lodash4'; +import { words, kebabCase } from 'lodash'; export function kbnUrlDirective(name) { const attr = kebabCase(words(name).slice(1)); diff --git a/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js b/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js index ba31cbedf2f09..09948bda96b9f 100644 --- a/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js +++ b/src/legacy/ui/public/directives/render_directive/apply_scope_bindings.js @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn, noop } from 'lodash4'; +import { forOwn, noop } from 'lodash'; import '../../directives/bind'; diff --git a/src/legacy/ui/public/directives/render_directive/render_directive.js b/src/legacy/ui/public/directives/render_directive/render_directive.js index 00eb3969616d2..a5232f39b82c3 100644 --- a/src/legacy/ui/public/directives/render_directive/render_directive.js +++ b/src/legacy/ui/public/directives/render_directive/render_directive.js @@ -17,7 +17,7 @@ * under the License. */ -import { isPlainObject } from 'lodash4'; +import { isPlainObject } from 'lodash'; import { uiModules } from '../../modules'; import { ApplyScopeBindingsProvider } from './apply_scope_bindings'; diff --git a/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js b/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js index e3c63c897e17b..0de41a5ae57cb 100644 --- a/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js +++ b/src/legacy/ui/public/directives/watch_multi/__tests__/watch_multi.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import ngMock from 'ng_mock'; import expect from '@kbn/expect'; import sinon from 'sinon'; diff --git a/src/legacy/ui/public/doc_title/doc_title.js b/src/legacy/ui/public/doc_title/doc_title.js index ec60bcc34209a..096e49e7a6de8 100644 --- a/src/legacy/ui/public/doc_title/doc_title.js +++ b/src/legacy/ui/public/doc_title/doc_title.js @@ -17,7 +17,7 @@ * under the License. */ -import { isArray } from 'lodash4'; +import { isArray } from 'lodash'; import { uiModules } from '../modules'; import { npStart } from '../new_platform'; diff --git a/src/legacy/ui/public/documentation_links/get_doc_link.ts b/src/legacy/ui/public/documentation_links/get_doc_link.ts index b9cb5d0aecae4..7d0d8033e3a5f 100644 --- a/src/legacy/ui/public/documentation_links/get_doc_link.ts +++ b/src/legacy/ui/public/documentation_links/get_doc_link.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { documentationLinks } from './documentation_links'; export const getDocLink = (id: string): string | undefined => get(documentationLinks, id); diff --git a/src/legacy/ui/public/events.js b/src/legacy/ui/public/events.js index 120ed0878c750..464c03d98b83f 100644 --- a/src/legacy/ui/public/events.js +++ b/src/legacy/ui/public/events.js @@ -23,7 +23,7 @@ * @extends EventEmitter */ -import _ from 'lodash4'; +import _ from 'lodash'; import { EventEmitter } from 'events'; import { fatalError } from './notify'; import { createLegacyClass } from './utils/legacy_class'; diff --git a/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js b/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js index a2fd4ec7ef127..df96a58a6e99f 100644 --- a/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js +++ b/src/legacy/ui/public/indexed_array/__tests__/indexed_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import expect from '@kbn/expect'; import { IndexedArray } from '..'; diff --git a/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts b/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts index a61ff68e8e673..fc4ca8469382a 100644 --- a/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts +++ b/src/legacy/ui/public/indexed_array/helpers/organize_by.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { groupBy } from 'lodash4'; +import { groupBy } from 'lodash'; import { organizeBy } from './organize_by'; describe('organizeBy', () => { diff --git a/src/legacy/ui/public/indexed_array/helpers/organize_by.ts b/src/legacy/ui/public/indexed_array/helpers/organize_by.ts index bd69741889586..e923767c892cd 100644 --- a/src/legacy/ui/public/indexed_array/helpers/organize_by.ts +++ b/src/legacy/ui/public/indexed_array/helpers/organize_by.ts @@ -17,7 +17,7 @@ * under the License. */ -import { each, isFunction } from 'lodash4'; +import { each, isFunction } from 'lodash'; /** * Like _.groupBy, but allows specifying multiple groups for a diff --git a/src/legacy/ui/public/indexed_array/index.d.ts b/src/legacy/ui/public/indexed_array/index.d.ts index f67ac599f7381..21c0a818731ac 100644 --- a/src/legacy/ui/public/indexed_array/index.d.ts +++ b/src/legacy/ui/public/indexed_array/index.d.ts @@ -17,7 +17,7 @@ * under the License. */ -import { ListIterator } from 'lodash4'; +import { ListIterator } from 'lodash'; interface IndexedArrayConfig { index?: string[]; diff --git a/src/legacy/ui/public/indexed_array/indexed_array.js b/src/legacy/ui/public/indexed_array/indexed_array.js index d944424b5eb2f..b9a427b8da7ad 100644 --- a/src/legacy/ui/public/indexed_array/indexed_array.js +++ b/src/legacy/ui/public/indexed_array/indexed_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { inflector } from './inflector'; import { organizeBy } from './helpers/organize_by'; diff --git a/src/legacy/ui/public/kfetch/kfetch.ts b/src/legacy/ui/public/kfetch/kfetch.ts index e9d633eeb1f70..4eb7149931575 100644 --- a/src/legacy/ui/public/kfetch/kfetch.ts +++ b/src/legacy/ui/public/kfetch/kfetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { merge } from 'lodash4'; +import { merge } from 'lodash'; // @ts-ignore not really worth typing import { KFetchError } from './kfetch_error'; diff --git a/src/legacy/ui/public/modules.js b/src/legacy/ui/public/modules.js index 11e6ce4f7290f..bb1c8aead1c34 100644 --- a/src/legacy/ui/public/modules.js +++ b/src/legacy/ui/public/modules.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; -import _ from 'lodash4'; +import _ from 'lodash'; /** * This module is used by Kibana to create and reuse angular modules. Angular modules * can only be created once and need to have their dependencies at creation. This is diff --git a/src/legacy/ui/public/new_platform/set_services.ts b/src/legacy/ui/public/new_platform/set_services.ts index c225879f680d4..ee92eda064aa8 100644 --- a/src/legacy/ui/public/new_platform/set_services.ts +++ b/src/legacy/ui/public/new_platform/set_services.ts @@ -17,7 +17,7 @@ * under the License. */ -import { pick } from 'lodash4'; +import { pick } from 'lodash'; import { PluginsSetup, PluginsStart } from './new_platform'; import { LegacyCoreSetup, LegacyCoreStart } from '../../../../core/public'; diff --git a/src/legacy/ui/public/registry/_registry.js b/src/legacy/ui/public/registry/_registry.js index 245ca5372a11e..85aa1d9f2eca8 100644 --- a/src/legacy/ui/public/registry/_registry.js +++ b/src/legacy/ui/public/registry/_registry.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { IndexedArray } from '../indexed_array'; const notPropsOptNames = IndexedArray.OPT_NAMES.concat('constructor', 'invokeProviders'); diff --git a/src/legacy/ui/public/routes/__tests__/_route_manager.js b/src/legacy/ui/public/routes/__tests__/_route_manager.js index c48f6505a55a7..eb47a3e9ace70 100644 --- a/src/legacy/ui/public/routes/__tests__/_route_manager.js +++ b/src/legacy/ui/public/routes/__tests__/_route_manager.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import ngMock from 'ng_mock'; import sinon from 'sinon'; import RouteManager from '../route_manager'; diff --git a/src/legacy/ui/public/routes/__tests__/_work_queue.js b/src/legacy/ui/public/routes/__tests__/_work_queue.js index 8440e7666fd2f..72891f7321fbd 100644 --- a/src/legacy/ui/public/routes/__tests__/_work_queue.js +++ b/src/legacy/ui/public/routes/__tests__/_work_queue.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; import { WorkQueue } from '../work_queue'; diff --git a/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js b/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js index 81fa612b3dd11..8ae85fce591a1 100644 --- a/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js +++ b/src/legacy/ui/public/routes/__tests__/_wrap_route_with_prep.js @@ -21,7 +21,7 @@ import RouteManager from '../route_manager'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; -import _ from 'lodash4'; +import _ from 'lodash'; import '../../private'; let routes; diff --git a/src/legacy/ui/public/routes/breadcrumbs.js b/src/legacy/ui/public/routes/breadcrumbs.js index 9080f98d41ae7..7917ffbd7c6e6 100644 --- a/src/legacy/ui/public/routes/breadcrumbs.js +++ b/src/legacy/ui/public/routes/breadcrumbs.js @@ -17,7 +17,7 @@ * under the License. */ -import { trim, startCase } from 'lodash4'; +import { trim, startCase } from 'lodash'; /** * Take a path (from $location.path() usually) and parse diff --git a/src/legacy/ui/public/routes/route_manager.js b/src/legacy/ui/public/routes/route_manager.js index 96dd25e853144..de8a541d1c50a 100644 --- a/src/legacy/ui/public/routes/route_manager.js +++ b/src/legacy/ui/public/routes/route_manager.js @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, defaultsDeep, wrap } from 'lodash4'; +import { cloneDeep, defaultsDeep, wrap } from 'lodash'; import { wrapRouteWithPrep } from './wrap_route_with_prep'; import { RouteSetupManager } from './route_setup_manager'; diff --git a/src/legacy/ui/public/routes/route_setup_manager.js b/src/legacy/ui/public/routes/route_setup_manager.js index 4ac58c2e30f0c..a7a2f078f40fb 100644 --- a/src/legacy/ui/public/routes/route_setup_manager.js +++ b/src/legacy/ui/public/routes/route_setup_manager.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { createDefer } from 'ui/promises'; // Throw this inside of an Angular route resolver after calling `kbnUrl.change` diff --git a/src/legacy/ui/public/routes/wrap_route_with_prep.js b/src/legacy/ui/public/routes/wrap_route_with_prep.js index 67750a2c7f368..e9ed33148d9ac 100644 --- a/src/legacy/ui/public/routes/wrap_route_with_prep.js +++ b/src/legacy/ui/public/routes/wrap_route_with_prep.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; -import _ from 'lodash4'; +import _ from 'lodash'; import { createDefer } from 'ui/promises'; import { WorkQueue } from './work_queue'; diff --git a/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js b/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js index 6e0903b29bad9..dc00d4e05e82f 100644 --- a/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js +++ b/src/legacy/ui/public/state_management/__tests__/state_monitor_factory.js @@ -20,7 +20,7 @@ import expect from '@kbn/expect'; import sinon from 'sinon'; import { EventEmitter } from 'events'; -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { stateMonitorFactory } from '../state_monitor_factory'; describe('stateMonitorFactory', function () { diff --git a/src/legacy/ui/public/state_management/state.js b/src/legacy/ui/public/state_management/state.js index ad11df640bc48..d91834adb4a79 100644 --- a/src/legacy/ui/public/state_management/state.js +++ b/src/legacy/ui/public/state_management/state.js @@ -25,7 +25,7 @@ * @description Persists generic "state" to and reads it from the URL. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import angular from 'angular'; import rison from 'rison-node'; diff --git a/src/legacy/ui/public/state_management/state_monitor_factory.ts b/src/legacy/ui/public/state_management/state_monitor_factory.ts index 949382d792e35..454fefd4f8253 100644 --- a/src/legacy/ui/public/state_management/state_monitor_factory.ts +++ b/src/legacy/ui/public/state_management/state_monitor_factory.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { cloneDeep, isEqual, isPlainObject, set } from 'lodash4'; +import { cloneDeep, isEqual, isPlainObject, set } from 'lodash'; import { State } from './state'; export const stateMonitorFactory = { diff --git a/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js b/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js index 0362d23f14167..fce1876162387 100644 --- a/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js +++ b/src/legacy/ui/public/test_harness/test_sharding/setup_test_sharding.js @@ -17,7 +17,7 @@ * under the License. */ -import { uniq, defaults } from 'lodash4'; +import { uniq, defaults } from 'lodash'; import { findTestBundleUrl } from './find_test_bundle_url'; import { getShardingParamsFromUrl } from './get_sharding_params_from_url'; diff --git a/src/legacy/ui/public/timefilter/setup_router.ts b/src/legacy/ui/public/timefilter/setup_router.ts index 9416d0d70c050..7c25c6aa3166e 100644 --- a/src/legacy/ui/public/timefilter/setup_router.ts +++ b/src/legacy/ui/public/timefilter/setup_router.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { IScope } from 'angular'; import moment from 'moment'; import chrome from 'ui/chrome'; diff --git a/src/legacy/ui/public/url/__tests__/url.js b/src/legacy/ui/public/url/__tests__/url.js index 45902a1a5a6d5..8b173482e1bb4 100644 --- a/src/legacy/ui/public/url/__tests__/url.js +++ b/src/legacy/ui/public/url/__tests__/url.js @@ -21,7 +21,7 @@ import sinon from 'sinon'; import expect from '@kbn/expect'; import ngMock from 'ng_mock'; import faker from 'faker'; -import _ from 'lodash4'; +import _ from 'lodash'; import { AppStateProvider } from '../../state_management/app_state'; import '..'; diff --git a/src/legacy/ui/public/url/prepend_path.ts b/src/legacy/ui/public/url/prepend_path.ts index b7bfa0ba618c6..b8a77d5c23bee 100644 --- a/src/legacy/ui/public/url/prepend_path.ts +++ b/src/legacy/ui/public/url/prepend_path.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString } from 'lodash4'; +import { isString } from 'lodash'; import { format, parse } from 'url'; /** diff --git a/src/legacy/ui/public/url/url.js b/src/legacy/ui/public/url/url.js index 8dbdbd41218fa..fb243b02e05c7 100644 --- a/src/legacy/ui/public/url/url.js +++ b/src/legacy/ui/public/url/url.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { uiModules } from '../modules'; import { AppStateProvider } from '../state_management/app_state'; diff --git a/src/legacy/ui/public/utils/collection.ts b/src/legacy/ui/public/utils/collection.ts index 85fc1b4733ccc..b882a2bbe6e5b 100644 --- a/src/legacy/ui/public/utils/collection.ts +++ b/src/legacy/ui/public/utils/collection.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; /** * move an obj either up or down in the collection by diff --git a/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js b/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js index 7872cb59541e1..3f3ff8b97999c 100644 --- a/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js +++ b/src/legacy/ui/ui_exports/ui_export_types/webpack_customizations.js @@ -19,7 +19,7 @@ import { isAbsolute } from 'path'; -import { escapeRegExp } from 'lodash4'; +import { escapeRegExp } from 'lodash'; import { flatConcatAtType, mergeAtType } from './reduce'; import { alias, wrap, uniqueKeys, mapSpec } from './modify_reduce'; diff --git a/src/legacy/utils/deep_clone_with_buffers.ts b/src/legacy/utils/deep_clone_with_buffers.ts index ffb8819cea6a5..2c58d85187985 100644 --- a/src/legacy/utils/deep_clone_with_buffers.ts +++ b/src/legacy/utils/deep_clone_with_buffers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeepWith } from 'lodash4'; +import { cloneDeepWith } from 'lodash'; // We should add `any` return type to overcome bug in lodash types, customizer // in lodash 3.* can return `undefined` if cloning is handled by the lodash, but diff --git a/src/legacy/utils/unset.js b/src/legacy/utils/unset.js index 5872cbb948ff3..db6f0e5ea9ef1 100644 --- a/src/legacy/utils/unset.js +++ b/src/legacy/utils/unset.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function unset(object, rawPath) { if (!object) return; diff --git a/src/optimize/dynamic_dll_plugin/dll_compiler.js b/src/optimize/dynamic_dll_plugin/dll_compiler.js index 64dc75e1aca34..9ab21ee0e9076 100644 --- a/src/optimize/dynamic_dll_plugin/dll_compiler.js +++ b/src/optimize/dynamic_dll_plugin/dll_compiler.js @@ -35,7 +35,7 @@ import webpack from 'webpack'; import { promisify } from 'util'; import path from 'path'; import del from 'del'; -import { chunk } from 'lodash4'; +import { chunk } from 'lodash'; import seedrandom from 'seedrandom'; const readFileAsync = promisify(fs.readFile); diff --git a/src/optimize/watch/proxy_role.js b/src/optimize/watch/proxy_role.js index e3dfc31211e67..ce2d63aa2eff0 100644 --- a/src/optimize/watch/proxy_role.js +++ b/src/optimize/watch/proxy_role.js @@ -19,7 +19,7 @@ import { createProxyBundlesRoute } from '../bundles_route'; import { fromNode } from 'bluebird'; -import { get, once } from 'lodash4'; +import { get, once } from 'lodash'; export default (kbnServer, server, config) => { server.route( diff --git a/src/plugins/advanced_settings/public/management_app/components/form/form.tsx b/src/plugins/advanced_settings/public/management_app/components/form/form.tsx index 32248a37f3c9e..142ea06c7dce4 100644 --- a/src/plugins/advanced_settings/public/management_app/components/form/form.tsx +++ b/src/plugins/advanced_settings/public/management_app/components/form/form.tsx @@ -35,7 +35,7 @@ import { EuiButtonEmpty, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { isEmpty } from 'lodash4'; +import { isEmpty } from 'lodash'; import { i18n } from '@kbn/i18n'; import { toMountPoint } from '../../../../../kibana_react/public'; import { DocLinksStart, ToastsStart } from '../../../../../../core/public'; diff --git a/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts b/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts index 6529a9d05674f..c33ac6abafb54 100644 --- a/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts +++ b/src/plugins/advanced_settings/public/management_app/lib/get_aria_name.ts @@ -17,7 +17,7 @@ * under the License. */ -import { words } from 'lodash4'; +import { words } from 'lodash'; /** * @name {string} the name of the configuration object diff --git a/src/plugins/charts/public/services/colors/color_palette.ts b/src/plugins/charts/public/services/colors/color_palette.ts index 986fe074a7f16..464e9e3a66101 100644 --- a/src/plugins/charts/public/services/colors/color_palette.ts +++ b/src/plugins/charts/public/services/colors/color_palette.ts @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash4'; +import _ from 'lodash'; import { seedColors } from './seed_colors'; diff --git a/src/plugins/charts/public/services/colors/colors.ts b/src/plugins/charts/public/services/colors/colors.ts index 3ec5276ba7a8a..7a1ffc433ee87 100644 --- a/src/plugins/charts/public/services/colors/colors.ts +++ b/src/plugins/charts/public/services/colors/colors.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { CoreSetup } from 'kibana/public'; diff --git a/src/plugins/charts/public/services/colors/mapped_colors.test.ts b/src/plugins/charts/public/services/colors/mapped_colors.test.ts index 77f00dda5fea5..e97ca8ac257b4 100644 --- a/src/plugins/charts/public/services/colors/mapped_colors.test.ts +++ b/src/plugins/charts/public/services/colors/mapped_colors.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import { coreMock } from '../../../../../core/public/mocks'; diff --git a/src/plugins/charts/public/services/colors/mapped_colors.ts b/src/plugins/charts/public/services/colors/mapped_colors.ts index 2fd90f2b8dfc9..3b9e1501d638d 100644 --- a/src/plugins/charts/public/services/colors/mapped_colors.ts +++ b/src/plugins/charts/public/services/colors/mapped_colors.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import { CoreSetup } from 'kibana/public'; diff --git a/src/plugins/charts/public/static/color_maps/heatmap_color.ts b/src/plugins/charts/public/static/color_maps/heatmap_color.ts index 6674e5945654e..9c3067fd8d6ac 100644 --- a/src/plugins/charts/public/static/color_maps/heatmap_color.ts +++ b/src/plugins/charts/public/static/color_maps/heatmap_color.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { vislibColorMaps, RawColorSchema } from './color_maps'; diff --git a/src/plugins/charts/public/static/components/color_ranges.tsx b/src/plugins/charts/public/static/components/color_ranges.tsx index 2eeb9721351ae..a9b05d7d91c7c 100644 --- a/src/plugins/charts/public/static/components/color_ranges.tsx +++ b/src/plugins/charts/public/static/components/color_ranges.tsx @@ -18,7 +18,7 @@ */ import React, { useCallback } from 'react'; -import { last } from 'lodash4'; +import { last } from 'lodash'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/console/public/application/components/settings_modal.tsx b/src/plugins/console/public/application/components/settings_modal.tsx index 96130b5c5c4af..ebcc2a35b6111 100644 --- a/src/plugins/console/public/application/components/settings_modal.tsx +++ b/src/plugins/console/public/application/components/settings_modal.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React, { Fragment, useState } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/src/plugins/console/public/application/containers/console_history/console_history.tsx b/src/plugins/console/public/application/containers/console_history/console_history.tsx index 5a278347bde8d..8ec8b9c61bf03 100644 --- a/src/plugins/console/public/application/containers/console_history/console_history.tsx +++ b/src/plugins/console/public/application/containers/console_history/console_history.tsx @@ -19,7 +19,7 @@ import React, { useCallback, useEffect, useMemo, useState, useRef } from 'react'; import { i18n } from '@kbn/i18n'; -import { memoize } from 'lodash4'; +import { memoize } from 'lodash'; import moment from 'moment'; import { keyCodes, diff --git a/src/plugins/console/public/application/containers/editor/editor.tsx b/src/plugins/console/public/application/containers/editor/editor.tsx index fb4f60b980054..66d3cbab20ac5 100644 --- a/src/plugins/console/public/application/containers/editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/editor.tsx @@ -18,7 +18,7 @@ */ import React, { useCallback, memo } from 'react'; -import { debounce } from 'lodash4'; +import { debounce } from 'lodash'; import { EuiProgress } from '@elastic/eui'; import { EditorContentSpinner } from '../../components'; diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx index 350f257e49559..6d4f532887cd9 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx @@ -19,7 +19,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiScreenReaderOnly, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { debounce } from 'lodash4'; +import { debounce } from 'lodash'; import { parse } from 'query-string'; import React, { CSSProperties, useCallback, useEffect, useRef, useState } from 'react'; import { useUIAceKeyboardMode } from '../../../../../../../es_ui_shared/public'; diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts b/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts index 81294d1388489..39621a9cb3dd2 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/keyboard_shortcuts.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { throttle } from 'lodash4'; +import { throttle } from 'lodash'; import { SenseEditor } from '../../../../models/sense_editor'; interface Actions { diff --git a/src/plugins/console/public/application/hooks/use_save_current_text_object.ts b/src/plugins/console/public/application/hooks/use_save_current_text_object.ts index 95fcd5d2f25d2..1bd1a7fb09bd1 100644 --- a/src/plugins/console/public/application/hooks/use_save_current_text_object.ts +++ b/src/plugins/console/public/application/hooks/use_save_current_text_object.ts @@ -18,7 +18,7 @@ */ import { useRef, useCallback } from 'react'; -import { throttle } from 'lodash4'; +import { throttle } from 'lodash'; import { useEditorReadContext, useServicesContext } from '../contexts'; const WAIT_MS = 500; diff --git a/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts b/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts index 43d470eefef20..ce8ededd0b12c 100644 --- a/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts +++ b/src/plugins/console/public/application/models/legacy_core_editor/create_readonly.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import ace from 'brace'; // @ts-ignore import * as OutputMode from './mode/output'; diff --git a/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts b/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts index d63665ef4644e..e6d7d8272b35b 100644 --- a/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts +++ b/src/plugins/console/public/application/models/legacy_core_editor/smart_resize.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, throttle } from 'lodash4'; +import { get, throttle } from 'lodash'; // eslint-disable-next-line import/no-default-export export default function (editor: any) { diff --git a/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js b/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js index 3c98498c52bfc..06823a981af46 100644 --- a/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js +++ b/src/plugins/console/public/application/models/sense_editor/__tests__/integration.test.js @@ -18,7 +18,7 @@ */ import '../sense_editor.test.mocks'; import { create } from '../create'; -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import * as kb from '../../../../lib/kb/kb'; diff --git a/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js b/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js index e4d7d08bb0158..c3fb879f2eeeb 100644 --- a/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js +++ b/src/plugins/console/public/application/models/sense_editor/__tests__/sense_editor.test.js @@ -19,7 +19,7 @@ import '../sense_editor.test.mocks'; import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import { create } from '../create'; import { collapseLiteralStrings } from '../../../../../../es_ui_shared/public'; diff --git a/src/plugins/console/public/application/models/sense_editor/sense_editor.ts b/src/plugins/console/public/application/models/sense_editor/sense_editor.ts index a4436cc1deee8..dbf4f1adcba0a 100644 --- a/src/plugins/console/public/application/models/sense_editor/sense_editor.ts +++ b/src/plugins/console/public/application/models/sense_editor/sense_editor.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import RowParser from '../../../lib/row_parser'; import { collapseLiteralStrings } from '../../../../../es_ui_shared/public'; import * as utils from '../../../lib/utils'; diff --git a/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js b/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js index 054ae21f8713c..0c3fcbafbe9f9 100644 --- a/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js +++ b/src/plugins/console/public/lib/autocomplete/__jest__/url_autocomplete.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { URL_PATH_END_MARKER, UrlPatternMatcher, diff --git a/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js b/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js index c490eb81d0ab6..e624e7ba57b61 100644 --- a/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js +++ b/src/plugins/console/public/lib/autocomplete/__jest__/url_params.test.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { UrlParams } from '../../autocomplete/url_params'; import { populateContext } from '../../autocomplete/engine'; diff --git a/src/plugins/console/public/lib/autocomplete/autocomplete.ts b/src/plugins/console/public/lib/autocomplete/autocomplete.ts index 436dbf000abab..3959f2ed8cf46 100644 --- a/src/plugins/console/public/lib/autocomplete/autocomplete.ts +++ b/src/plugins/console/public/lib/autocomplete/autocomplete.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; // TODO: All of these imports need to be moved to the core editor so that it can inject components from there. diff --git a/src/plugins/console/public/lib/autocomplete/body_completer.js b/src/plugins/console/public/lib/autocomplete/body_completer.js index 83c3b805a149c..d31507626146e 100644 --- a/src/plugins/console/public/lib/autocomplete/body_completer.js +++ b/src/plugins/console/public/lib/autocomplete/body_completer.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { WalkingState, walkTokenPath, wrapComponentWithDefaults } from './engine'; import { ConstantComponent, diff --git a/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js b/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js index 5c3ecfec73620..b2d4888b34d6f 100644 --- a/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/accept_endpoint_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SharedComponent } from './shared_component'; export const URL_PATH_END_MARKER = '__url_path_end__'; diff --git a/src/plugins/console/public/lib/autocomplete/components/constant_component.js b/src/plugins/console/public/lib/autocomplete/components/constant_component.js index 1dc95b5624a70..44361d646c4aa 100644 --- a/src/plugins/console/public/lib/autocomplete/components/constant_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/constant_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SharedComponent } from './shared_component'; export class ConstantComponent extends SharedComponent { constructor(name, parent, options) { diff --git a/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js index 3d6f96eaa43aa..05c72ea8a8dc5 100644 --- a/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/field_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { getFields } from '../../mappings/mappings'; import { ListComponent } from './list_component'; diff --git a/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js index 9c1c6df82791d..88b9320b3c45e 100644 --- a/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/id_autocomplete_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SharedComponent } from './shared_component'; export class IdAutocompleteComponent extends SharedComponent { constructor(name, parent, multi) { diff --git a/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js index 221c382e21856..ec6f24253e78d 100644 --- a/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/index_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { getIndices } from '../../mappings/mappings'; import { ListComponent } from './list_component'; function nonValidIndexType(token) { diff --git a/src/plugins/console/public/lib/autocomplete/components/list_component.js b/src/plugins/console/public/lib/autocomplete/components/list_component.js index 968e5209f53cd..b26a223433333 100644 --- a/src/plugins/console/public/lib/autocomplete/components/list_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/list_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SharedComponent } from './shared_component'; /** A component that suggests one of the give options, but accepts anything */ export class ListComponent extends SharedComponent { diff --git a/src/plugins/console/public/lib/autocomplete/components/object_component.js b/src/plugins/console/public/lib/autocomplete/components/object_component.js index 3857df331c7d4..34cfb892a65d9 100644 --- a/src/plugins/console/public/lib/autocomplete/components/object_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/object_component.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SharedComponent } from './index'; /** * @param constants list of components that represent constant keys diff --git a/src/plugins/console/public/lib/autocomplete/components/shared_component.js b/src/plugins/console/public/lib/autocomplete/components/shared_component.js index eb9cbb97159ed..eeebf95063701 100644 --- a/src/plugins/console/public/lib/autocomplete/components/shared_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/shared_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { AutocompleteComponent } from './autocomplete_component'; export class SharedComponent extends AutocompleteComponent { constructor(name, parent) { diff --git a/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js index d944a41f819c0..03d85eccaf385 100644 --- a/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/type_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { ListComponent } from './list_component'; import { getTypes } from '../../mappings/mappings'; function TypeGenerator(context) { diff --git a/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js b/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js index 7c5d38444ec9c..412fda16d45b6 100644 --- a/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js +++ b/src/plugins/console/public/lib/autocomplete/components/url_pattern_matcher.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SharedComponent, ConstantComponent, diff --git a/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js b/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js index 1e53cf882fd39..14b77d4e70625 100644 --- a/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js +++ b/src/plugins/console/public/lib/autocomplete/components/username_autocomplete_component.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { getIndices } from '../../mappings/mappings'; import { ListComponent } from './list_component'; function nonValidUsernameType(token) { diff --git a/src/plugins/console/public/lib/autocomplete/engine.js b/src/plugins/console/public/lib/autocomplete/engine.js index 2db6bf281f164..b893218f4967c 100644 --- a/src/plugins/console/public/lib/autocomplete/engine.js +++ b/src/plugins/console/public/lib/autocomplete/engine.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function wrapComponentWithDefaults(component, defaults) { const originalGetTerms = component.getTerms; diff --git a/src/plugins/console/public/lib/autocomplete/url_params.js b/src/plugins/console/public/lib/autocomplete/url_params.js index a929aff95908b..037f4b1b27c50 100644 --- a/src/plugins/console/public/lib/autocomplete/url_params.js +++ b/src/plugins/console/public/lib/autocomplete/url_params.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { ConstantComponent, ListComponent, SharedComponent } from './components'; export class ParamComponent extends ConstantComponent { diff --git a/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js b/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js index f5bdeb1be325b..068dd68be4ba8 100644 --- a/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js +++ b/src/plugins/console/public/lib/curl_parsing/__tests__/curl_parsing.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { detectCURL, parseCURL } from '../curl'; import curlTests from './curl_parsing.txt'; diff --git a/src/plugins/console/public/lib/kb/__tests__/kb.test.js b/src/plugins/console/public/lib/kb/__tests__/kb.test.js index cfd13f20aaefa..eaf5023053880 100644 --- a/src/plugins/console/public/lib/kb/__tests__/kb.test.js +++ b/src/plugins/console/public/lib/kb/__tests__/kb.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { populateContext } from '../../autocomplete/engine'; import '../../../application/models/sense_editor/sense_editor.test.mocks'; diff --git a/src/plugins/console/public/lib/kb/api.js b/src/plugins/console/public/lib/kb/api.js index 9bf339eb72d75..ba387d7e36dfc 100644 --- a/src/plugins/console/public/lib/kb/api.js +++ b/src/plugins/console/public/lib/kb/api.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { UrlPatternMatcher } from '../autocomplete/components'; import { UrlParams } from '../autocomplete/url_params'; import { diff --git a/src/plugins/console/public/lib/kb/kb.js b/src/plugins/console/public/lib/kb/kb.js index 0d78c035819ca..e0bf1ef09c4d3 100644 --- a/src/plugins/console/public/lib/kb/kb.js +++ b/src/plugins/console/public/lib/kb/kb.js @@ -27,7 +27,7 @@ import { } from '../autocomplete/components'; import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import Api from './api'; diff --git a/src/plugins/console/public/lib/mappings/mappings.js b/src/plugins/console/public/lib/mappings/mappings.js index 3a29f8a42cf3b..88fe195bcbf2b 100644 --- a/src/plugins/console/public/lib/mappings/mappings.js +++ b/src/plugins/console/public/lib/mappings/mappings.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import * as es from '../es/es'; // NOTE: If this value ever changes to be a few seconds or less, it might introduce flakiness diff --git a/src/plugins/console/public/lib/utils/index.ts b/src/plugins/console/public/lib/utils/index.ts index 7ba83dc2aa20f..917988e0e811b 100644 --- a/src/plugins/console/public/lib/utils/index.ts +++ b/src/plugins/console/public/lib/utils/index.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { expandLiteralStrings, collapseLiteralStrings } from '../../../../es_ui_shared/public'; export function textFromRequest(request: any) { diff --git a/src/plugins/console/public/services/storage.ts b/src/plugins/console/public/services/storage.ts index feaa7e21048cf..2ac6fc5861ad2 100644 --- a/src/plugins/console/public/services/storage.ts +++ b/src/plugins/console/public/services/storage.ts @@ -17,7 +17,7 @@ * under the License. */ -import { transform, keys, startsWith } from 'lodash4'; +import { transform, keys, startsWith } from 'lodash'; type IStorageEngine = typeof window.localStorage; diff --git a/src/plugins/console/server/lib/elasticsearch_proxy_config.ts b/src/plugins/console/server/lib/elasticsearch_proxy_config.ts index 80596da3ab06f..38592e66bd8be 100644 --- a/src/plugins/console/server/lib/elasticsearch_proxy_config.ts +++ b/src/plugins/console/server/lib/elasticsearch_proxy_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import http from 'http'; import https from 'https'; import url from 'url'; diff --git a/src/plugins/console/server/lib/proxy_config.ts b/src/plugins/console/server/lib/proxy_config.ts index 94ad81a985cea..5adb9c58f784e 100644 --- a/src/plugins/console/server/lib/proxy_config.ts +++ b/src/plugins/console/server/lib/proxy_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import { values } from 'lodash4'; +import { values } from 'lodash'; import { format as formatUrl } from 'url'; import { Agent as HttpsAgent, AgentOptions } from 'https'; diff --git a/src/plugins/console/server/lib/proxy_config_collection.ts b/src/plugins/console/server/lib/proxy_config_collection.ts index cb7f565e372e3..36f4f8359c5fe 100644 --- a/src/plugins/console/server/lib/proxy_config_collection.ts +++ b/src/plugins/console/server/lib/proxy_config_collection.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaultsDeep } from 'lodash4'; +import { defaultsDeep } from 'lodash'; import { parse as parseUrl } from 'url'; import { ProxyConfig } from './proxy_config'; diff --git a/src/plugins/console/server/lib/set_headers.ts b/src/plugins/console/server/lib/set_headers.ts index dcecc970bad68..ee0be40312a4d 100644 --- a/src/plugins/console/server/lib/set_headers.ts +++ b/src/plugins/console/server/lib/set_headers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isPlainObject } from 'lodash4'; +import { isPlainObject } from 'lodash'; export function setHeaders(originalHeaders: object, newHeaders: object) { if (!isPlainObject(originalHeaders)) { diff --git a/src/plugins/console/server/lib/spec_definitions/js/mappings.ts b/src/plugins/console/server/lib/spec_definitions/js/mappings.ts index 03e1cc396647d..fbc9a822e509c 100644 --- a/src/plugins/console/server/lib/spec_definitions/js/mappings.ts +++ b/src/plugins/console/server/lib/spec_definitions/js/mappings.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SpecDefinitionsService } from '../../../services'; diff --git a/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts b/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts index 8cff7967c5238..d6e5030fb6928 100644 --- a/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts +++ b/src/plugins/console/server/lib/spec_definitions/js/query/dsl.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SpecDefinitionsService } from '../../../../services'; diff --git a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts index 84f2cf2d7a48f..a16fb1dadfbcf 100644 --- a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts +++ b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts @@ -19,7 +19,7 @@ import { Agent, IncomingMessage } from 'http'; import * as url from 'url'; -import { pick, trimStart, trimEnd } from 'lodash4'; +import { pick, trimStart, trimEnd } from 'lodash'; import { KibanaRequest, Logger, RequestHandler } from 'kibana/server'; diff --git a/src/plugins/console/server/services/spec_definitions_service.ts b/src/plugins/console/server/services/spec_definitions_service.ts index 1a0da2a2ff073..f566d3402cc49 100644 --- a/src/plugins/console/server/services/spec_definitions_service.ts +++ b/src/plugins/console/server/services/spec_definitions_service.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { merge } from 'lodash4'; +import _, { merge } from 'lodash'; import glob from 'glob'; import { basename, join, resolve } from 'path'; import { readFileSync } from 'fs'; diff --git a/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx b/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx index a8db83b8fa509..26af13b4410fe 100644 --- a/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx +++ b/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import { CoreStart } from 'src/core/public'; import uuid from 'uuid'; -import _ from 'lodash4'; +import _ from 'lodash'; import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; import { ViewMode, PanelState, IEmbeddable } from '../../embeddable_plugin'; import { SavedObject } from '../../../../saved_objects/public'; diff --git a/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx b/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx index b9e6cc721040b..e4a98ffac7a55 100644 --- a/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx +++ b/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import React from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { EuiFlyout, EuiFlyoutBody, EuiFlyoutHeader, EuiTitle } from '@elastic/eui'; import { NotificationsStart, Toast } from 'src/core/public'; import { DashboardPanelState } from '../embeddable'; diff --git a/src/plugins/dashboard/public/application/dashboard_app_controller.tsx b/src/plugins/dashboard/public/application/dashboard_app_controller.tsx index ad737a98f8918..af431abddf6ed 100644 --- a/src/plugins/dashboard/public/application/dashboard_app_controller.tsx +++ b/src/plugins/dashboard/public/application/dashboard_app_controller.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _, { uniqBy } from 'lodash4'; +import _, { uniqBy } from 'lodash'; import { i18n } from '@kbn/i18n'; import { EUI_MODAL_CANCEL_BUTTON, EuiCheckboxGroup } from '@elastic/eui'; import { EuiCheckboxGroupIdToSelectedMap } from '@elastic/eui/src/components/form/checkbox/checkbox_group'; diff --git a/src/plugins/dashboard/public/application/dashboard_state_manager.ts b/src/plugins/dashboard/public/application/dashboard_state_manager.ts index 03bf0e596b07e..5fed38487dc54 100644 --- a/src/plugins/dashboard/public/application/dashboard_state_manager.ts +++ b/src/plugins/dashboard/public/application/dashboard_state_manager.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import { Observable, Subscription } from 'rxjs'; import { Moment } from 'moment'; import { History } from 'history'; diff --git a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx index d5e4a84ab3ebc..dcd07fe394c7d 100644 --- a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx +++ b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx @@ -25,7 +25,7 @@ import sizeMe from 'react-sizeme'; import { injectI18n } from '@kbn/i18n/react'; import classNames from 'classnames'; -import _ from 'lodash4'; +import _ from 'lodash'; import React from 'react'; import { Subscription } from 'rxjs'; import ReactGridLayout, { Layout } from 'react-grid-layout'; diff --git a/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts b/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts index 7550b6f493083..5ecd57d670ae8 100644 --- a/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts +++ b/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { PanelNotFoundError } from '../../../embeddable_plugin'; import { GridData } from '../../../../common'; import { DashboardPanelState, DASHBOARD_GRID_COLUMN_COUNT } from '..'; diff --git a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts b/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts index 9091b2f9ee0ea..b19ef31ccb9ac 100644 --- a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts +++ b/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { omit } from 'lodash4'; +import { omit } from 'lodash'; import { SavedDashboardPanel } from '../../types'; import { DashboardPanelState } from '../embeddable'; import { SavedObjectEmbeddableInput } from '../../embeddable_plugin'; diff --git a/src/plugins/dashboard/public/application/lib/filter_utils.ts b/src/plugins/dashboard/public/application/lib/filter_utils.ts index 15370acada622..b6b935d6050ae 100644 --- a/src/plugins/dashboard/public/application/lib/filter_utils.ts +++ b/src/plugins/dashboard/public/application/lib/filter_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import moment, { Moment } from 'moment'; import { Filter } from '../../../../data/public'; diff --git a/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts b/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts index 81e0300f04c71..72d3ffe6b2322 100644 --- a/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts +++ b/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { RefreshInterval, TimefilterContract } from 'src/plugins/data/public'; import { FilterUtils } from './filter_utils'; import { SavedObjectDashboard } from '../../saved_dashboards'; diff --git a/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js b/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js index 9923c7ecf0496..dccac4e7c3c76 100644 --- a/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js +++ b/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js @@ -18,9 +18,9 @@ */ jest.mock( - 'lodash4', + 'lodash', () => ({ - ...require.requireActual('lodash4'), + ...require.requireActual('lodash'), // mock debounce to fire immediately with no internal timer debounce: (func) => { function debounced(...args) { diff --git a/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts b/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts index 456ac009d5dce..1e8356a1ef100 100644 --- a/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts +++ b/src/plugins/dashboard/server/saved_objects/dashboard_migrations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, flow } from 'lodash4'; +import { get, flow } from 'lodash'; import { SavedObjectMigrationFn } from 'kibana/server'; import { migrations730 } from './migrations_730'; diff --git a/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts b/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts index 73274f7cf624e..452d68aa92394 100644 --- a/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts +++ b/src/plugins/dashboard/server/saved_objects/migrate_match_all_query.ts @@ -18,7 +18,7 @@ */ import { SavedObjectMigrationFn } from 'kibana/server'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { DEFAULT_QUERY_LANGUAGE } from '../../../data/common'; export const migrateMatchAllQuery: SavedObjectMigrationFn = (doc) => { diff --git a/src/plugins/dev_tools/public/plugin.ts b/src/plugins/dev_tools/public/plugin.ts index 3d0ef64819ad9..130d07b441b83 100644 --- a/src/plugins/dev_tools/public/plugin.ts +++ b/src/plugins/dev_tools/public/plugin.ts @@ -20,7 +20,7 @@ import { BehaviorSubject } from 'rxjs'; import { AppUpdater, CoreSetup, Plugin } from 'kibana/public'; import { i18n } from '@kbn/i18n'; -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; import { KibanaLegacySetup } from '../../kibana_legacy/public'; import { CreateDevToolArgs, DevToolApp, createDevToolApp } from './dev_tool'; import { AppNavLinkStatus, DEFAULT_APP_CATEGORIES } from '../../../core/public'; diff --git a/src/plugins/discover/public/application/angular/context.js b/src/plugins/discover/public/application/angular/context.js index 2db7735dbc091..a6f591eebb52d 100644 --- a/src/plugins/discover/public/application/angular/context.js +++ b/src/plugins/discover/public/application/angular/context.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { CONTEXT_DEFAULT_SIZE_SETTING } from '../../../common'; import { getAngularModule, getServices } from '../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/api/anchor.js b/src/plugins/discover/public/application/angular/context/api/anchor.js index 74aa2404497fc..4df5ba989f798 100644 --- a/src/plugins/discover/public/application/angular/context/api/anchor.js +++ b/src/plugins/discover/public/application/angular/context/api/anchor.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; export function fetchAnchorProvider(indexPatterns, searchSource) { diff --git a/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js b/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js index 2e656a7bb3caf..fcde2ade0b2c6 100644 --- a/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js +++ b/src/plugins/discover/public/application/angular/context/api/context.predecessors.test.js @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import * as _ from 'lodash4'; +import * as _ from 'lodash'; import { createIndexPatternsStub, createContextSearchSourceStub } from './_stubs'; import { fetchContextProvider } from './context'; import { setServices } from '../../../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/api/context.successors.test.js b/src/plugins/discover/public/application/angular/context/api/context.successors.test.js index 64ed20c06d670..0f84aa82a989a 100644 --- a/src/plugins/discover/public/application/angular/context/api/context.successors.test.js +++ b/src/plugins/discover/public/application/angular/context/api/context.successors.test.js @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import * as _ from 'lodash4'; +import * as _ from 'lodash'; import { createIndexPatternsStub, createContextSearchSourceStub } from './_stubs'; import { setServices } from '../../../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/query/actions.js b/src/plugins/discover/public/application/angular/context/query/actions.js index b639e73e3c097..32fc2873d7f2a 100644 --- a/src/plugins/discover/public/application/angular/context/query/actions.js +++ b/src/plugins/discover/public/application/angular/context/query/actions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { getServices } from '../../../../kibana_services'; diff --git a/src/plugins/discover/public/application/angular/context/query_parameters/actions.js b/src/plugins/discover/public/application/angular/context/query_parameters/actions.js index a0fc64ad12ad4..fcd4b8ac02cfb 100644 --- a/src/plugins/discover/public/application/angular/context/query_parameters/actions.js +++ b/src/plugins/discover/public/application/angular/context/query_parameters/actions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { esFilters } from '../../../../../../data/public'; import { MAX_CONTEXT_SIZE, MIN_CONTEXT_SIZE, QUERY_PARAMETER_KEYS } from './constants'; diff --git a/src/plugins/discover/public/application/angular/context_app.js b/src/plugins/discover/public/application/angular/context_app.js index 274eff2ffa24c..f698ed84a8948 100644 --- a/src/plugins/discover/public/application/angular/context_app.js +++ b/src/plugins/discover/public/application/angular/context_app.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { CONTEXT_STEP_SETTING, CONTEXT_TIE_BREAKER_FIELDS_SETTING } from '../../../common'; import { getAngularModule, getServices } from '../../kibana_services'; import contextAppTemplate from './context_app.html'; diff --git a/src/plugins/discover/public/application/angular/context_state.ts b/src/plugins/discover/public/application/angular/context_state.ts index fa76d31e66de9..7a92a6ace125b 100644 --- a/src/plugins/discover/public/application/angular/context_state.ts +++ b/src/plugins/discover/public/application/angular/context_state.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { History } from 'history'; import { createStateContainer, diff --git a/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts b/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts index edbc7affd3215..16fbb0af9f3fd 100644 --- a/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts +++ b/src/plugins/discover/public/application/angular/directives/collapsible_sidebar/collapsible_sidebar.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; import { IScope } from 'angular'; diff --git a/src/plugins/discover/public/application/angular/directives/debounce/debounce.js b/src/plugins/discover/public/application/angular/directives/debounce/debounce.js index b41ba00cd7e80..586e8ed4fab59 100644 --- a/src/plugins/discover/public/application/angular/directives/debounce/debounce.js +++ b/src/plugins/discover/public/application/angular/directives/debounce/debounce.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // Debounce service, angularized version of lodash debounce // borrowed heavily from https://github.com/shahata/angular-debounce diff --git a/src/plugins/discover/public/application/angular/directives/fixed_scroll.js b/src/plugins/discover/public/application/angular/directives/fixed_scroll.js index d8fbfbf42b89e..182b4aeca9a23 100644 --- a/src/plugins/discover/public/application/angular/directives/fixed_scroll.js +++ b/src/plugins/discover/public/application/angular/directives/fixed_scroll.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import { DebounceProvider } from './debounce'; const SCROLLER_HEIGHT = 20; diff --git a/src/plugins/discover/public/application/angular/discover.js b/src/plugins/discover/public/application/angular/discover.js index 7caac582da1e2..8ff5af1e3a767 100644 --- a/src/plugins/discover/public/application/angular/discover.js +++ b/src/plugins/discover/public/application/angular/discover.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React from 'react'; import { Subscription, Subject, merge } from 'rxjs'; import { debounceTime } from 'rxjs/operators'; diff --git a/src/plugins/discover/public/application/angular/discover_state.ts b/src/plugins/discover/public/application/angular/discover_state.ts index 79cd8f397b054..46500d9fdf85e 100644 --- a/src/plugins/discover/public/application/angular/discover_state.ts +++ b/src/plugins/discover/public/application/angular/discover_state.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isEqual } from 'lodash4'; +import { isEqual } from 'lodash'; import { History } from 'history'; import { createStateContainer, diff --git a/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts b/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts index bff18b865e658..b1e6d27d76656 100644 --- a/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts +++ b/src/plugins/discover/public/application/angular/doc_table/components/table_row.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import $ from 'jquery'; // @ts-ignore import rison from 'rison-node'; diff --git a/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts b/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts index 30dc7f97b1b0f..c28519692318e 100644 --- a/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts +++ b/src/plugins/discover/public/application/angular/doc_table/lib/get_sort.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { IndexPattern } from '../../../../../../data/public'; export type SortPairObj = Record; diff --git a/src/plugins/discover/public/application/angular/get_painless_error.ts b/src/plugins/discover/public/application/angular/get_painless_error.ts index ccdc2443c01eb..e1e98d9df27b1 100644 --- a/src/plugins/discover/public/application/angular/get_painless_error.ts +++ b/src/plugins/discover/public/application/angular/get_painless_error.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { get } from 'lodash4'; +import { get } from 'lodash'; export function getPainlessError(error: Error) { const rootCause: Array<{ lang: string; script: string }> | undefined = get( diff --git a/src/plugins/discover/public/application/angular/helpers/point_series.ts b/src/plugins/discover/public/application/angular/helpers/point_series.ts index a963a2fa43447..4c280bf43ea12 100644 --- a/src/plugins/discover/public/application/angular/helpers/point_series.ts +++ b/src/plugins/discover/public/application/angular/helpers/point_series.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash4'; +import { uniq } from 'lodash'; import { Duration, Moment } from 'moment'; import { Unit } from '@elastic/datemath'; diff --git a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx index 0a2edcf69f90b..90ade60d2073d 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx +++ b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.test.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { ReactWrapper } from 'enzyme'; // @ts-ignore import { findTestSubject } from '@elastic/eui/lib/test'; diff --git a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx index 58092960107db..96e04c13d70e9 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx +++ b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.tsx @@ -20,7 +20,7 @@ import './discover_sidebar.scss'; import React, { useCallback, useEffect, useState, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButtonIcon, EuiTitle } from '@elastic/eui'; -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; import { FormattedMessage, I18nProvider } from '@kbn/i18n/react'; import { DiscoverField } from './discover_field'; import { DiscoverIndexPattern } from './discover_index_pattern'; diff --git a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js index eb09ba5bffe0b..e055d644e1f91 100644 --- a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js +++ b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; function getFieldValues(hits, field) { diff --git a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts index 8cc5f384672e4..87401818c4907 100644 --- a/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts +++ b/src/plugins/discover/public/application/components/sidebar/lib/field_calculator.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // @ts-ignore import realHits from 'fixtures/real_hits.js'; // @ts-ignore diff --git a/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts b/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts index 19995babd9c9e..0fcbe925e0798 100644 --- a/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts +++ b/src/plugins/discover/public/application/components/sidebar/lib/get_index_pattern_field_list.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { difference, map } from 'lodash4'; +import { difference, map } from 'lodash'; import { IndexPattern, IndexPatternField } from 'src/plugins/data/public'; import { DiscoverServices } from '../../../../build_services'; diff --git a/src/plugins/discover/public/application/components/table/table.tsx b/src/plugins/discover/public/application/components/table/table.tsx index 4733727aac25c..9b95f2fc6bd27 100644 --- a/src/plugins/discover/public/application/components/table/table.tsx +++ b/src/plugins/discover/public/application/components/table/table.tsx @@ -17,7 +17,7 @@ * under the License. */ import React, { useState } from 'react'; -import { escapeRegExp } from 'lodash4'; +import { escapeRegExp } from 'lodash'; import { DocViewTableRow } from './table_row'; import { arrayContainsObjects, trimAngularSpan } from './table_helper'; import { DocViewRenderProps } from '../../doc_views/doc_views_types'; diff --git a/src/plugins/discover/public/application/embeddable/search_embeddable.ts b/src/plugins/discover/public/application/embeddable/search_embeddable.ts index 8e750e2e16550..e03a6b938bc4f 100644 --- a/src/plugins/discover/public/application/embeddable/search_embeddable.ts +++ b/src/plugins/discover/public/application/embeddable/search_embeddable.ts @@ -18,7 +18,7 @@ */ import './search_embeddable.scss'; import angular from 'angular'; -import _ from 'lodash4'; +import _ from 'lodash'; import * as Rx from 'rxjs'; import { Subscription } from 'rxjs'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/discover/public/kibana_services.ts b/src/plugins/discover/public/kibana_services.ts index c7929de2ac062..898a517e7a6fc 100644 --- a/src/plugins/discover/public/kibana_services.ts +++ b/src/plugins/discover/public/kibana_services.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { createHashHistory } from 'history'; import { ScopedHistory } from 'kibana/public'; import { DiscoverServices } from './build_services'; diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx index 6572525fa6083..9c544e86e189a 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, isEqual } from 'lodash4'; +import { cloneDeep, isEqual } from 'lodash'; import * as Rx from 'rxjs'; import { Adapters, ViewMode } from '../types'; import { IContainer } from '../containers'; diff --git a/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js b/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js index b38900aece94d..cde2a253d7630 100644 --- a/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js +++ b/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.js @@ -19,7 +19,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import { padStart } from 'lodash4'; +import { padStart } from 'lodash'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx b/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx index 19986d63c1893..8c63cc8494a8b 100644 --- a/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx +++ b/src/plugins/es_ui_shared/public/components/json_editor/json_editor.tsx @@ -19,7 +19,7 @@ import React, { useCallback } from 'react'; import { EuiFormRow, EuiCodeEditor } from '@elastic/eui'; -import { debounce } from 'lodash4'; +import { debounce } from 'lodash'; import { isJSON } from '../../../static/validators/string'; import { useJson, OnJsonEditorUpdateHandler } from './use_json'; diff --git a/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts b/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts index 9e31e6661888d..951cf5fa279b5 100644 --- a/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts +++ b/src/plugins/es_ui_shared/public/console_lang/ace/modes/lexer_rules/x_json_highlight_rules.ts @@ -17,7 +17,7 @@ * under the License. */ -import * as _ from 'lodash4'; +import * as _ from 'lodash'; import ace from 'brace'; import 'brace/mode/json'; diff --git a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts index 59d9a31109581..419e80ad1608f 100644 --- a/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts +++ b/src/plugins/es_ui_shared/public/console_lang/lib/json_xjson_translation_tools/__tests__/json_xjson_translation_tools.test.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // @ts-ignore import collapsingTests from './utils_string_collapsing.txt'; // @ts-ignore diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts index 2bb4461dbfe56..f9286d99cbf80 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.ts @@ -18,7 +18,7 @@ */ import { useState, useRef, useEffect, useMemo } from 'react'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { FormHook, FieldHook, FormData, FieldConfig, FieldsMap, FormConfig } from '../types'; import { mapFormFields, unflattenObject, Subject, Subscription } from '../lib'; diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts index fcbd1311c655e..65cd7792a0189 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { set } from 'lodash4'; +import { set } from 'lodash'; import { FieldHook } from '../types'; export const unflattenObject = (object: any) => diff --git a/src/plugins/expressions/common/execution/execution.ts b/src/plugins/expressions/common/execution/execution.ts index 95d2a1ba7c6f6..7bfb14b8bfa1c 100644 --- a/src/plugins/expressions/common/execution/execution.ts +++ b/src/plugins/expressions/common/execution/execution.ts @@ -17,7 +17,7 @@ * under the License. */ -import { keys, last, mapValues, reduce, zipObject } from 'lodash4'; +import { keys, last, mapValues, reduce, zipObject } from 'lodash'; import { Executor } from '../executor'; import { createExecutionContainer, ExecutionContainer } from './container'; import { createError } from '../util'; diff --git a/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts b/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts index 7b0180ff47d81..70e37d251af6f 100644 --- a/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts +++ b/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { uniqBy } from 'lodash4'; +import { uniqBy } from 'lodash'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition } from '../../expression_functions'; import { KibanaContext } from '../../expression_types'; diff --git a/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts b/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts index 7d2def0ef4685..016208aefdfc6 100644 --- a/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts +++ b/src/plugins/expressions/common/expression_functions/specs/tests/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapValues } from 'lodash4'; +import { mapValues } from 'lodash'; import { AnyExpressionFunctionDefinition } from '../../types'; import { ExecutionContext } from '../../../execution/types'; diff --git a/src/plugins/expressions/common/expression_types/specs/datatable.ts b/src/plugins/expressions/common/expression_types/specs/datatable.ts index f30c106b10018..52cd10678ccf8 100644 --- a/src/plugins/expressions/common/expression_types/specs/datatable.ts +++ b/src/plugins/expressions/common/expression_types/specs/datatable.ts @@ -17,7 +17,7 @@ * under the License. */ -import { map, pick, zipObject } from 'lodash4'; +import { map, pick, zipObject } from 'lodash'; import { ExpressionTypeDefinition } from '../types'; import { PointSeries } from './pointseries'; diff --git a/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts b/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts index 3dbdafc3cc420..999b3f8375836 100644 --- a/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts +++ b/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts @@ -17,7 +17,7 @@ * under the License. */ -import { map } from 'lodash4'; +import { map } from 'lodash'; import { SerializedFieldFormat } from '../../types/common'; import { Datatable, PointSeries } from '.'; diff --git a/src/plugins/expressions/public/loader.ts b/src/plugins/expressions/public/loader.ts index 76a5adcbe62e1..f957f10a9aeba 100644 --- a/src/plugins/expressions/public/loader.ts +++ b/src/plugins/expressions/public/loader.ts @@ -19,7 +19,7 @@ import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { filter, map } from 'rxjs/operators'; -import { defaults } from 'lodash4'; +import { defaults } from 'lodash'; import { Adapters } from '../../inspector/public'; import { IExpressionLoaderParams } from './types'; import { ExpressionAstExpression } from '../common'; diff --git a/src/plugins/home/public/application/components/sample_data_set_cards.js b/src/plugins/home/public/application/components/sample_data_set_cards.js index 55d9b5eae29f7..255fc57054083 100644 --- a/src/plugins/home/public/application/components/sample_data_set_cards.js +++ b/src/plugins/home/public/application/components/sample_data_set_cards.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React from 'react'; import PropTypes from 'prop-types'; import { EuiFlexGrid, EuiFlexItem } from '@elastic/eui'; diff --git a/src/plugins/home/public/application/components/tutorial/tutorial.js b/src/plugins/home/public/application/components/tutorial/tutorial.js index 6b17105b9b716..576f732278b8e 100644 --- a/src/plugins/home/public/application/components/tutorial/tutorial.js +++ b/src/plugins/home/public/application/components/tutorial/tutorial.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React from 'react'; import PropTypes from 'prop-types'; import { Footer } from './footer'; diff --git a/src/plugins/home/public/application/components/tutorial_directory.js b/src/plugins/home/public/application/components/tutorial_directory.js index 94498d289a771..774b23af11ac8 100644 --- a/src/plugins/home/public/application/components/tutorial_directory.js +++ b/src/plugins/home/public/application/components/tutorial_directory.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React from 'react'; import PropTypes from 'prop-types'; import { Synopsis } from './synopsis'; diff --git a/src/plugins/home/public/application/load_tutorials.js b/src/plugins/home/public/application/load_tutorials.js index 27cea7ccf71e2..6d42c9a1072d6 100644 --- a/src/plugins/home/public/application/load_tutorials.js +++ b/src/plugins/home/public/application/load_tutorials.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { getServices } from './kibana_services'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/home/server/services/sample_data/routes/uninstall.ts b/src/plugins/home/server/services/sample_data/routes/uninstall.ts index 327710e1cb0bf..9bb260460b38a 100644 --- a/src/plugins/home/server/services/sample_data/routes/uninstall.ts +++ b/src/plugins/home/server/services/sample_data/routes/uninstall.ts @@ -17,7 +17,7 @@ * under the License. */ import { schema } from '@kbn/config-schema'; -import _ from 'lodash4'; +import _ from 'lodash'; import { IRouter } from 'src/core/server'; import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; import { createIndexName } from '../lib/create_index_name'; diff --git a/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts b/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts index 3428d569b3130..4c7316c853018 100644 --- a/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts +++ b/src/plugins/home/server/services/sample_data/usage/collector_fetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import moment from 'moment'; interface SearchHit { diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts index 859d4f290a0f6..9f75dc39a654c 100644 --- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts +++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, sortBy } from 'lodash4'; +import { get, sortBy } from 'lodash'; import { IndexPatternCreationConfig } from '../../../../../index_pattern_management/public'; import { DataPublicPluginStart } from '../../../../../data/public'; import { MatchedIndex } from '../types'; diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx b/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx index 39b69b4a943fd..eab8b2c231c9c 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { filter } from 'lodash4'; +import { filter } from 'lodash'; import React, { useEffect, useState, useCallback } from 'react'; import { withRouter, RouteComponentProps } from 'react-router-dom'; import { diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts b/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts index 01cc751c053cf..861017d99962e 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/indexed_fields_table/lib/get_field_format.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { IIndexPattern } from '../../../../../../data/public'; export function getFieldFormat(indexPattern?: IIndexPattern, fieldName?: string): string { diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx b/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx index aa7180a55fb4d..51ca59ee7b032 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/table/table.tsx @@ -18,7 +18,7 @@ */ import React, { PureComponent } from 'react'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { EuiInMemoryTable, EuiBasicTableColumn } from '@elastic/eui'; diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts b/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts index 8998f8f98addc..5ab9c695caaa0 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { Dictionary, countBy, defaults, uniq } from 'lodash4'; +import { Dictionary, countBy, defaults, uniq } from 'lodash'; import { i18n } from '@kbn/i18n'; import { IndexPattern, IndexPatternField } from '../../../../../../plugins/data/public'; import { IndexPatternManagementStart } from '../../../../../../plugins/index_pattern_management/public'; diff --git a/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx b/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx index 26f3aa61a95cd..5ae50098e79e7 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx +++ b/src/plugins/index_pattern_management/public/components/field_editor/field_editor.tsx @@ -18,7 +18,7 @@ */ import React, { PureComponent, Fragment } from 'react'; -import { intersection, union, get } from 'lodash4'; +import { intersection, union, get } from 'lodash'; import { EuiBasicTable, diff --git a/src/plugins/input_control_vis/public/components/editor/field_select.tsx b/src/plugins/input_control_vis/public/components/editor/field_select.tsx index 18062d5a56ef7..2885cbf24553f 100644 --- a/src/plugins/input_control_vis/public/components/editor/field_select.tsx +++ b/src/plugins/input_control_vis/public/components/editor/field_select.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React, { Component } from 'react'; import { InjectedIntlProps } from 'react-intl'; diff --git a/src/plugins/input_control_vis/public/components/vis/list_control.tsx b/src/plugins/input_control_vis/public/components/vis/list_control.tsx index 9d68c67f4aac3..8ca93a302be89 100644 --- a/src/plugins/input_control_vis/public/components/vis/list_control.tsx +++ b/src/plugins/input_control_vis/public/components/vis/list_control.tsx @@ -18,7 +18,7 @@ */ import React, { PureComponent } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { injectI18n } from '@kbn/i18n/react'; import { InjectedIntlProps } from 'react-intl'; diff --git a/src/plugins/input_control_vis/public/components/vis/range_control.tsx b/src/plugins/input_control_vis/public/components/vis/range_control.tsx index fe1dd94ab87d7..f028feaf5f84f 100644 --- a/src/plugins/input_control_vis/public/components/vis/range_control.tsx +++ b/src/plugins/input_control_vis/public/components/vis/range_control.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import React, { PureComponent } from 'react'; import { ValidatedDualRange } from '../../../../kibana_react/public'; import { FormRow } from './form_row'; diff --git a/src/plugins/input_control_vis/public/control/control.ts b/src/plugins/input_control_vis/public/control/control.ts index c6c8be659dac5..1e1e05c96cc1a 100644 --- a/src/plugins/input_control_vis/public/control/control.ts +++ b/src/plugins/input_control_vis/public/control/control.ts @@ -19,7 +19,7 @@ /* eslint-disable no-multi-str*/ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { Filter } from 'src/plugins/data/public'; diff --git a/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts index 4ea70dd4652de..ece3f7a88ba37 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { FilterManager as QueryFilterManager, IndexPattern, Filter } from '../../../../data/public'; diff --git a/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts index 7856415f66295..f99a7ebbbbb7e 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { FilterManager } from './filter_manager'; import { diff --git a/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts index b6d91445d3c44..1a884cf267c41 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/range_filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { FilterManager } from './filter_manager'; import { esFilters, RangeFilter, RangeFilterParams, IFieldType } from '../../../../data/public'; diff --git a/src/plugins/input_control_vis/public/control/list_control_factory.ts b/src/plugins/input_control_vis/public/control/list_control_factory.ts index dc8158f75a58f..65a3e37a93edf 100644 --- a/src/plugins/input_control_vis/public/control/list_control_factory.ts +++ b/src/plugins/input_control_vis/public/control/list_control_factory.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { IFieldType, diff --git a/src/plugins/input_control_vis/public/control/range_control_factory.ts b/src/plugins/input_control_vis/public/control/range_control_factory.ts index 22f87db1a8298..eac79ca5fcca8 100644 --- a/src/plugins/input_control_vis/public/control/range_control_factory.ts +++ b/src/plugins/input_control_vis/public/control/range_control_factory.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { IFieldType, TimefilterContract, DataPublicPluginStart } from 'src/plugins/data/public'; diff --git a/src/plugins/input_control_vis/public/lineage/lineage_map.ts b/src/plugins/input_control_vis/public/lineage/lineage_map.ts index 67926171d2980..c6c8bc88308b8 100644 --- a/src/plugins/input_control_vis/public/lineage/lineage_map.ts +++ b/src/plugins/input_control_vis/public/lineage/lineage_map.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { ControlParams } from '../editor_utils'; export function getLineageMap(controlParamsList: ControlParams[]) { diff --git a/src/plugins/inspector/public/views/data/lib/export_csv.ts b/src/plugins/inspector/public/views/data/lib/export_csv.ts index 65815d2a7dcd3..5a970cc6cff38 100644 --- a/src/plugins/inspector/public/views/data/lib/export_csv.ts +++ b/src/plugins/inspector/public/views/data/lib/export_csv.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isObject } from 'lodash4'; +import { isObject } from 'lodash'; // @ts-ignore import { saveAs } from '@elastic/filesaver'; diff --git a/src/plugins/kibana_legacy/public/angular/angular_config.tsx b/src/plugins/kibana_legacy/public/angular/angular_config.tsx index 4422fb8222873..25cbb0631a652 100644 --- a/src/plugins/kibana_legacy/public/angular/angular_config.tsx +++ b/src/plugins/kibana_legacy/public/angular/angular_config.tsx @@ -26,7 +26,7 @@ import { IRootScopeService, } from 'angular'; import $ from 'jquery'; -import { cloneDeep, forOwn, get, set } from 'lodash4'; +import { cloneDeep, forOwn, get, set } from 'lodash'; import * as Rx from 'rxjs'; import { ChromeBreadcrumb, EnvironmentMode, PackageInfo } from 'kibana/public'; import { History } from 'history'; diff --git a/src/plugins/kibana_legacy/public/angular/promises.js b/src/plugins/kibana_legacy/public/angular/promises.js index 4610b823d5ad2..f5d188e227ca8 100644 --- a/src/plugins/kibana_legacy/public/angular/promises.js +++ b/src/plugins/kibana_legacy/public/angular/promises.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function PromiseServiceCreator($q, $timeout) { function Promise(fn) { diff --git a/src/plugins/kibana_legacy/public/angular/watch_multi.js b/src/plugins/kibana_legacy/public/angular/watch_multi.js index d011f49dd1763..ed5f0288c0e93 100644 --- a/src/plugins/kibana_legacy/public/angular/watch_multi.js +++ b/src/plugins/kibana_legacy/public/angular/watch_multi.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function watchMultiDecorator($provide) { $provide.decorator('$rootScope', function ($delegate) { diff --git a/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts b/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts index ee66e23c7e6cd..1f15107a02762 100644 --- a/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts +++ b/src/plugins/kibana_legacy/public/angular_bootstrap/index.ts @@ -1,6 +1,6 @@ /* eslint-disable */ -import { once } from 'lodash4'; +import { once } from 'lodash'; import angular from 'angular'; // @ts-ignore diff --git a/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts b/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts index eebf5bb435b33..7305bec5348e5 100644 --- a/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts +++ b/src/plugins/kibana_legacy/public/notify/lib/format_es_msg.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; const getRootCause = (err: Record | string) => _.get(err, 'resp.error.root_cause'); diff --git a/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts b/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts index 9e7dafbff0834..afc1b9cbf1dd6 100644 --- a/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts +++ b/src/plugins/kibana_legacy/public/notify/lib/format_msg.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { formatESMsg } from './format_es_msg'; const has = _.has; diff --git a/src/plugins/kibana_legacy/public/paginate/paginate.js b/src/plugins/kibana_legacy/public/paginate/paginate.js index 738cc1c24ad64..ea93a969d08c7 100644 --- a/src/plugins/kibana_legacy/public/paginate/paginate.js +++ b/src/plugins/kibana_legacy/public/paginate/paginate.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import paginateControlsTemplate from './paginate_controls.html'; diff --git a/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts b/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts index c4abb5ee3736d..8d9b50d5a66b2 100644 --- a/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts +++ b/src/plugins/kibana_legacy/public/utils/migrate_legacy_query.ts @@ -17,7 +17,7 @@ * under the License. */ -import { has } from 'lodash4'; +import { has } from 'lodash'; import { Query } from 'src/plugins/data/public'; /** diff --git a/src/plugins/kibana_legacy/public/utils/private.js b/src/plugins/kibana_legacy/public/utils/private.js index d60f072d0830a..8119a73215796 100644 --- a/src/plugins/kibana_legacy/public/utils/private.js +++ b/src/plugins/kibana_legacy/public/utils/private.js @@ -93,7 +93,7 @@ * * @param {[type]} prov [description] */ -import _ from 'lodash4'; +import _ from 'lodash'; const nextId = _.partial(_.uniqueId, 'privateProvider#'); diff --git a/src/plugins/kibana_legacy/server/index.ts b/src/plugins/kibana_legacy/server/index.ts index ae891880f1475..0188f9b1ec515 100644 --- a/src/plugins/kibana_legacy/server/index.ts +++ b/src/plugins/kibana_legacy/server/index.ts @@ -23,7 +23,7 @@ import { CoreStart, PluginConfigDescriptor, } from 'kibana/server'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { configSchema, ConfigSchema } from '../config'; diff --git a/src/plugins/kibana_react/public/markdown/markdown.tsx b/src/plugins/kibana_react/public/markdown/markdown.tsx index 1570bb5bd8633..15d1c4931e60b 100644 --- a/src/plugins/kibana_react/public/markdown/markdown.tsx +++ b/src/plugins/kibana_react/public/markdown/markdown.tsx @@ -20,7 +20,7 @@ import classNames from 'classnames'; import React, { PureComponent } from 'react'; import MarkdownIt from 'markdown-it'; -import { memoize } from 'lodash4'; +import { memoize } from 'lodash'; import { getSecureRelForTarget } from '@elastic/eui'; import './index.scss'; diff --git a/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx b/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx index 0e7fed2811d11..2fa1debf51b5c 100644 --- a/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx +++ b/src/plugins/kibana_react/public/table_list_view/table_list_view.tsx @@ -20,7 +20,7 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { debounce, keyBy, sortBy, uniq } from 'lodash4'; +import { debounce, keyBy, sortBy, uniq } from 'lodash'; import { EuiTitle, EuiInMemoryTable, diff --git a/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts b/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts index a940eb4e13153..804c8b0ed2026 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/kibana/get_saved_object_counts.ts @@ -26,7 +26,7 @@ * Unifying this logic from Monitoring that makes sense to have in OSS here and we will import it on the monitoring side to reuse it. */ -import { snakeCase } from 'lodash4'; +import { snakeCase } from 'lodash'; import { APICaller } from 'kibana/server'; const TYPES = [ diff --git a/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts b/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts index e7b936bfdabea..df9d6eb146eab 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/ops_stats/ops_stats_collector.ts @@ -18,7 +18,7 @@ */ import { Observable } from 'rxjs'; -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import moment from 'moment'; import { OpsMetrics } from 'kibana/server'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; diff --git a/src/plugins/kibana_utils/common/url/encode_uri_query.ts b/src/plugins/kibana_utils/common/url/encode_uri_query.ts index 8f8bdc6acec56..fe8cf12d0d6f2 100644 --- a/src/plugins/kibana_utils/common/url/encode_uri_query.ts +++ b/src/plugins/kibana_utils/common/url/encode_uri_query.ts @@ -18,7 +18,7 @@ */ import { ParsedQuery } from 'query-string'; -import { transform } from 'lodash4'; +import { transform } from 'lodash'; /** * This method is intended for encoding *key* or *value* parts of query component. We need a custom diff --git a/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts b/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts index abf07d3c7fcae..2aa9a255bd5cf 100644 --- a/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts +++ b/src/plugins/kibana_utils/public/field_wildcard/field_wildcard.ts @@ -17,7 +17,7 @@ * under the License. */ -import { escapeRegExp, memoize } from 'lodash4'; +import { escapeRegExp, memoize } from 'lodash'; export const makeRegEx = memoize(function makeRegEx(glob: string) { const globRegex = glob.split('*').map(escapeRegExp).join('.*'); diff --git a/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts b/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts index 27114ff09804e..bc514474e73fb 100644 --- a/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts +++ b/src/plugins/kibana_utils/public/resize_checker/resize_checker.ts @@ -18,7 +18,7 @@ */ import { EventEmitter } from 'events'; -import { isEqual } from 'lodash4'; +import { isEqual } from 'lodash'; import ResizeObserver from 'resize-observer-polyfill'; function getSize(el: HTMLElement): [number, number] { diff --git a/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts b/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts index 3a4d8fe91ec3d..d93fa0fe5a169 100644 --- a/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts +++ b/src/plugins/kibana_utils/public/state_management/utils/diff_object.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { applyDiff } from './diff_object'; describe('diff_object', () => { diff --git a/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts b/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts index 27082b1f8991b..65eb8a3cc8fcc 100644 --- a/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts +++ b/src/plugins/kibana_utils/public/state_management/utils/diff_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { keys, isFunction, difference, filter, union, pick, each, assign, isEqual } from 'lodash4'; +import { keys, isFunction, difference, filter, union, pick, each, assign, isEqual } from 'lodash'; export interface IDiffObject { removed: string[]; diff --git a/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts b/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts index fcf7290aff55f..fe18f426f226b 100644 --- a/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts +++ b/src/plugins/kibana_utils/public/storage/hashed_item_store/hashed_item_store.ts @@ -70,7 +70,7 @@ * For these reasons, HashedItemStore doesn't concern itself with this constraint. */ -import { pull, sortBy } from 'lodash4'; +import { pull, sortBy } from 'lodash'; import { IStorage } from '../types'; interface IndexedItem { diff --git a/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx b/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx index c6cc9880cfc4c..055dda5ed84a1 100644 --- a/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx +++ b/src/plugins/management/public/components/management_sidebar_nav/management_sidebar_nav.tsx @@ -19,7 +19,7 @@ import React, { useState } from 'react'; import { i18n } from '@kbn/i18n'; -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; import { EuiIcon, EuiSideNav, EuiScreenReaderOnly, EuiSideNavItemType } from '@elastic/eui'; import { AppMountParameters } from 'kibana/public'; diff --git a/src/plugins/maps_legacy/public/map/base_maps_visualization.js b/src/plugins/maps_legacy/public/map/base_maps_visualization.js index 64b9c7db903f9..2d1a45beb5d87 100644 --- a/src/plugins/maps_legacy/public/map/base_maps_visualization.js +++ b/src/plugins/maps_legacy/public/map/base_maps_visualization.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import * as Rx from 'rxjs'; import { filter, first } from 'rxjs/operators'; diff --git a/src/plugins/maps_legacy/public/map/decode_geo_hash.ts b/src/plugins/maps_legacy/public/map/decode_geo_hash.ts index ba2fc40c147a0..8c39ada03a46b 100644 --- a/src/plugins/maps_legacy/public/map/decode_geo_hash.ts +++ b/src/plugins/maps_legacy/public/map/decode_geo_hash.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; interface DecodedGeoHash { latitude: number[]; diff --git a/src/plugins/maps_legacy/public/map/grid_dimensions.js b/src/plugins/maps_legacy/public/map/grid_dimensions.js index d655b956ee3f6..b3438914d5636 100644 --- a/src/plugins/maps_legacy/public/map/grid_dimensions.js +++ b/src/plugins/maps_legacy/public/map/grid_dimensions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // geohash precision mapping of geohash grid cell dimensions (width x height, in meters) at equator. // https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html#_cell_dimensions_at_the_equator diff --git a/src/plugins/maps_legacy/public/map/kibana_map.js b/src/plugins/maps_legacy/public/map/kibana_map.js index a86aeebff4303..ad5d2c089b875 100644 --- a/src/plugins/maps_legacy/public/map/kibana_map.js +++ b/src/plugins/maps_legacy/public/map/kibana_map.js @@ -20,7 +20,7 @@ import { EventEmitter } from 'events'; import { createZoomWarningMsg } from './map_messages'; import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import { zoomToPrecision } from './zoom_to_precision'; import { i18n } from '@kbn/i18n'; import { ORIGIN } from '../common/constants/origin'; diff --git a/src/plugins/maps_legacy/public/map/service_settings.js b/src/plugins/maps_legacy/public/map/service_settings.js index e3557390499eb..7c2b841e4adf3 100644 --- a/src/plugins/maps_legacy/public/map/service_settings.js +++ b/src/plugins/maps_legacy/public/map/service_settings.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import MarkdownIt from 'markdown-it'; import { EMSClient } from '@elastic/ems-client'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx b/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx index 5f1f8331a99a3..1c5642f9b75b7 100644 --- a/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx +++ b/src/plugins/navigation/public/top_nav_menu/top_nav_menu_item.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { upperFirst, isFunction } from 'lodash4'; +import { upperFirst, isFunction } from 'lodash'; import React, { MouseEvent } from 'react'; import { EuiButtonEmpty, EuiToolTip } from '@elastic/eui'; diff --git a/src/plugins/region_map/public/__tests__/region_map_visualization.js b/src/plugins/region_map/public/__tests__/region_map_visualization.js index d694b045aac1d..3dcfc7c2fc6fa 100644 --- a/src/plugins/region_map/public/__tests__/region_map_visualization.js +++ b/src/plugins/region_map/public/__tests__/region_map_visualization.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; import ngMock from 'ng_mock'; -import _ from 'lodash4'; +import _ from 'lodash'; import ChoroplethLayer from '../choropleth_layer'; import { ImageComparator } from 'test_utils/image_comparator'; diff --git a/src/plugins/region_map/public/choropleth_layer.js b/src/plugins/region_map/public/choropleth_layer.js index 3fd9e246e9d37..30fa8b544cdec 100644 --- a/src/plugins/region_map/public/choropleth_layer.js +++ b/src/plugins/region_map/public/choropleth_layer.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import { i18n } from '@kbn/i18n'; import * as topojson from 'topojson-client'; diff --git a/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx b/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx index 8f624c6272174..8a644a718c9d3 100644 --- a/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx +++ b/src/plugins/saved_objects/public/finder/saved_object_finder.test.tsx @@ -17,7 +17,7 @@ * under the License. */ -jest.mock('lodash4', () => ({ +jest.mock('lodash', () => ({ debounce: (fn: any) => fn, })); diff --git a/src/plugins/saved_objects/public/finder/saved_object_finder.tsx b/src/plugins/saved_objects/public/finder/saved_object_finder.tsx index 28b552604b066..9ef4f2fbe7c55 100644 --- a/src/plugins/saved_objects/public/finder/saved_object_finder.tsx +++ b/src/plugins/saved_objects/public/finder/saved_object_finder.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import PropTypes from 'prop-types'; import React from 'react'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts b/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts index 0b9d973dc9f24..47390c7dc9104 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { EsResponse, SavedObject, SavedObjectConfig, SavedObjectKibanaServices } from '../../types'; import { SavedObjectNotFound } from '../../../../kibana_utils/public'; import { diff --git a/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts index b604f2e8b5f89..fdc8d79c9428a 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { once } from 'lodash4'; +import { once } from 'lodash'; import { hydrateIndexPattern } from './hydrate_index_pattern'; import { intializeSavedObject } from './initialize_saved_object'; import { serializeSavedObject } from './serialize_saved_object'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts b/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts index 4d6da734fd0a8..25ed4d527b833 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { SavedObjectAttributes } from 'kibana/public'; import { SavedObject, SavedObjectKibanaServices } from '../../types'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts index efd772edce292..ae8d7ac8a6526 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectsClientContract } from 'kibana/public'; import { SavedObject, SavedObjectConfig } from '../../types'; diff --git a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts index 255bb6786786a..b413ea19a932d 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { SavedObjectAttributes, diff --git a/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts index 0afb985425b81..24e467ad18ac4 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/serialize_saved_object.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObject, SavedObjectConfig } from '../../types'; import { extractSearchSourceReferences, expandShorthand } from '../../../../data/public'; diff --git a/src/plugins/saved_objects_management/public/lib/case_conversion.ts b/src/plugins/saved_objects_management/public/lib/case_conversion.ts index 654cbffee28c8..718530eb3b602 100644 --- a/src/plugins/saved_objects_management/public/lib/case_conversion.ts +++ b/src/plugins/saved_objects_management/public/lib/case_conversion.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapKeys, camelCase } from 'lodash4'; +import { mapKeys, camelCase } from 'lodash'; export function keysToCamelCaseShallow(object: Record) { return mapKeys(object, (value, key) => camelCase(key)); diff --git a/src/plugins/saved_objects_management/public/lib/create_field_list.ts b/src/plugins/saved_objects_management/public/lib/create_field_list.ts index 902f077761d18..dcfb44d8a5224 100644 --- a/src/plugins/saved_objects_management/public/lib/create_field_list.ts +++ b/src/plugins/saved_objects_management/public/lib/create_field_list.ts @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn, keyBy, isNumber, isBoolean, isPlainObject, isString } from 'lodash4'; +import { forOwn, keyBy, isNumber, isBoolean, isPlainObject, isString } from 'lodash'; import { SimpleSavedObject } from '../../../../core/public'; import { castEsToKbnFieldTypeName } from '../../../data/public'; import { ObjectField } from '../management_section/types'; diff --git a/src/plugins/saved_objects_management/public/lib/get_relationships.ts b/src/plugins/saved_objects_management/public/lib/get_relationships.ts index a2ba11ce0bc84..bf2e651aa6593 100644 --- a/src/plugins/saved_objects_management/public/lib/get_relationships.ts +++ b/src/plugins/saved_objects_management/public/lib/get_relationships.ts @@ -18,7 +18,7 @@ */ import { HttpStart } from 'src/core/public'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { SavedObjectRelation } from '../types'; export async function getRelationships( diff --git a/src/plugins/saved_objects_management/public/lib/numeric.ts b/src/plugins/saved_objects_management/public/lib/numeric.ts index 525e5c1845ea2..c7bc6c26a378f 100644 --- a/src/plugins/saved_objects_management/public/lib/numeric.ts +++ b/src/plugins/saved_objects_management/public/lib/numeric.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isNaN } from 'lodash4'; +import { isNaN } from 'lodash'; export function isNumeric(v: any): boolean { return !isNaN(v) && (typeof v === 'number' || (!Array.isArray(v) && !isNaN(parseFloat(v)))); diff --git a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts index 7fb86afede699..79b8c33b84cfe 100644 --- a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts +++ b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { OverlayStart, SavedObjectReference } from 'src/core/public'; import { SavedObject, SavedObjectLoader } from '../../../saved_objects/public'; import { diff --git a/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx b/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx index 769d1d69a06c3..d273ffb4c1052 100644 --- a/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx +++ b/src/plugins/saved_objects_management/public/management_section/object_view/components/form.tsx @@ -26,7 +26,7 @@ import { EuiButtonEmpty, EuiSpacer, } from '@elastic/eui'; -import { cloneDeep, set } from 'lodash4'; +import { cloneDeep, set } from 'lodash'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { SimpleSavedObject, SavedObjectsClientContract } from '../../../../../../core/public'; diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx index 8884f23e5035a..6e7397d1058bf 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx @@ -18,7 +18,7 @@ */ import React, { Component, Fragment } from 'react'; -import { take, get as getField } from 'lodash4'; +import { take, get as getField } from 'lodash'; import { EuiFlyout, EuiFlyoutBody, diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts index 7bdc65b1e73dd..6b4659a6b5a13 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts @@ -22,8 +22,8 @@ jest.doMock('@elastic/filesaver', () => ({ saveAs: saveAsMock, })); -jest.doMock('lodash4', () => ({ - ...jest.requireActual('lodash4'), +jest.doMock('lodash', () => ({ + ...jest.requireActual('lodash'), debounce: (func: Function) => { function debounced(this: any, ...args: any[]) { return func.apply(this, args); diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx index ba02aa9c50236..54bc649c33b60 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx @@ -18,7 +18,7 @@ */ import React, { Component } from 'react'; -import { debounce } from 'lodash4'; +import { debounce } from 'lodash'; // @ts-ignore import { saveAs } from '@elastic/filesaver'; import { diff --git a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx index 5ba73bd32b8f7..0e52fa441568f 100644 --- a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx +++ b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx @@ -18,7 +18,7 @@ */ import React, { useEffect } from 'react'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { CoreStart, ChromeBreadcrumb } from 'src/core/public'; import { DataPublicPluginStart } from '../../../data/public'; diff --git a/src/plugins/saved_objects_management/server/lib/find_all.test.ts b/src/plugins/saved_objects_management/server/lib/find_all.test.ts index 04d7c3ca7934a..2515d11f6d4bb 100644 --- a/src/plugins/saved_objects_management/server/lib/find_all.test.ts +++ b/src/plugins/saved_objects_management/server/lib/find_all.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { times } from 'lodash4'; +import { times } from 'lodash'; import { SavedObjectsFindOptions, SavedObject } from 'src/core/server'; import { savedObjectsClientMock } from '../../../../core/server/mocks'; import { findAll } from './find_all'; diff --git a/src/plugins/share/server/routes/lib/short_url_assert_valid.ts b/src/plugins/share/server/routes/lib/short_url_assert_valid.ts index fe61855f97ce6..2f120bbc03cd7 100644 --- a/src/plugins/share/server/routes/lib/short_url_assert_valid.ts +++ b/src/plugins/share/server/routes/lib/short_url_assert_valid.ts @@ -18,7 +18,7 @@ */ import { parse } from 'url'; -import { trim } from 'lodash4'; +import { trim } from 'lodash'; import Boom from 'boom'; export function shortUrlAssertValid(url: string) { diff --git a/src/plugins/share/server/routes/lib/short_url_lookup.ts b/src/plugins/share/server/routes/lib/short_url_lookup.ts index 0a3983972fee7..a858b7c54ac4f 100644 --- a/src/plugins/share/server/routes/lib/short_url_lookup.ts +++ b/src/plugins/share/server/routes/lib/short_url_lookup.ts @@ -18,7 +18,7 @@ */ import crypto from 'crypto'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { Logger, SavedObject, SavedObjectsClientContract } from 'kibana/server'; diff --git a/src/plugins/share/server/saved_objects/url.ts b/src/plugins/share/server/saved_objects/url.ts index 7f2f8fa1d3ff4..be497c9e50a2f 100644 --- a/src/plugins/share/server/saved_objects/url.ts +++ b/src/plugins/share/server/saved_objects/url.ts @@ -17,7 +17,7 @@ * under the License. */ import { SavedObjectsType } from 'kibana/server'; -import { flow } from 'lodash4'; +import { flow } from 'lodash'; import { migrateLegacyKibanaAppShortUrls } from './kibana_app_migration'; export const url: SavedObjectsType = { diff --git a/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js b/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js index d44bd16b1b43c..29076537e9ae8 100644 --- a/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js +++ b/src/plugins/telemetry/server/telemetry_collection/__tests__/get_local_stats.js @@ -23,7 +23,7 @@ import sinon from 'sinon'; import { mockGetClusterInfo } from './get_cluster_info'; import { mockGetClusterStats } from './get_cluster_stats'; -import { omit } from 'lodash4'; +import { omit } from 'lodash'; import { getLocalStats, handleLocalStats } from '../get_local_stats'; const mockUsageCollection = (kibanaUsage = {}) => ({ diff --git a/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts b/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts index a8681c987f994..645c5a4be8a6c 100644 --- a/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts +++ b/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash4'; +import { omit } from 'lodash'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; import { APICaller } from 'kibana/server'; import { StatsCollectionContext } from 'src/plugins/telemetry_collection_manager/server'; diff --git a/src/plugins/tile_map/public/css_filters.js b/src/plugins/tile_map/public/css_filters.js index 157c548838323..b41ea6955663b 100644 --- a/src/plugins/tile_map/public/css_filters.js +++ b/src/plugins/tile_map/public/css_filters.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; /** * just a place to put feature detection checks diff --git a/src/plugins/tile_map/public/geohash_layer.js b/src/plugins/tile_map/public/geohash_layer.js index b6cdbd988fc2b..ca2f49a1f31e0 100644 --- a/src/plugins/tile_map/public/geohash_layer.js +++ b/src/plugins/tile_map/public/geohash_layer.js @@ -17,7 +17,7 @@ * under the License. */ -import { min, isEqual } from 'lodash4'; +import { min, isEqual } from 'lodash'; import { i18n } from '@kbn/i18n'; import { L, KibanaMapLayer, MapTypes } from '../../maps_legacy/public'; import { HeatmapMarkers } from './markers/heatmap'; diff --git a/src/plugins/tile_map/public/markers/heatmap.js b/src/plugins/tile_map/public/markers/heatmap.js index 43379fa53470c..f2d014797bce0 100644 --- a/src/plugins/tile_map/public/markers/heatmap.js +++ b/src/plugins/tile_map/public/markers/heatmap.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import { EventEmitter } from 'events'; import { L } from '../../../maps_legacy/public'; diff --git a/src/plugins/tile_map/public/markers/scaled_circles.js b/src/plugins/tile_map/public/markers/scaled_circles.js index 6bd1f5b067438..cb111107f6fe3 100644 --- a/src/plugins/tile_map/public/markers/scaled_circles.js +++ b/src/plugins/tile_map/public/markers/scaled_circles.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import d3 from 'd3'; import $ from 'jquery'; import { EventEmitter } from 'events'; diff --git a/src/plugins/tile_map/public/markers/shaded_circles.js b/src/plugins/tile_map/public/markers/shaded_circles.js index 24020cb1ecdf6..745d0422856c6 100644 --- a/src/plugins/tile_map/public/markers/shaded_circles.js +++ b/src/plugins/tile_map/public/markers/shaded_circles.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { ScaledCirclesMarkers } from './scaled_circles'; import { L } from '../../../maps_legacy/public'; diff --git a/src/plugins/tile_map/public/tile_map_visualization.js b/src/plugins/tile_map/public/tile_map_visualization.js index 84104b52b82bd..1f4e5f09a9aa4 100644 --- a/src/plugins/tile_map/public/tile_map_visualization.js +++ b/src/plugins/tile_map/public/tile_map_visualization.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { GeohashLayer } from './geohash_layer'; import { getFormatService, getQueryService } from './services'; import { scaleBounds, geoContains, mapTooltipProvider } from '../../maps_legacy/public'; diff --git a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx index 82cceb04a687f..74e9ef96b575b 100644 --- a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx +++ b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.tsx @@ -19,7 +19,7 @@ import * as React from 'react'; import { EuiContextMenuPanelDescriptor, EuiContextMenuPanelItemDescriptor } from '@elastic/eui'; -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { uiToReactComponent } from '../../../kibana_react/public'; import { Action } from '../actions'; diff --git a/src/plugins/usage_collection/server/collector/collector_set.test.ts b/src/plugins/usage_collection/server/collector/collector_set.test.ts index 4cf1601713fee..ced5206cee318 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.test.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { noop } from 'lodash4'; +import { noop } from 'lodash'; import { Collector } from './collector'; import { CollectorSet } from './collector_set'; import { UsageCollector } from './usage_collector'; diff --git a/src/plugins/usage_collection/server/collector/collector_set.ts b/src/plugins/usage_collection/server/collector/collector_set.ts index 12f354509b764..e8791138c5e26 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.ts @@ -17,7 +17,7 @@ * under the License. */ -import { snakeCase } from 'lodash4'; +import { snakeCase } from 'lodash'; import { Logger, APICaller } from 'kibana/server'; import { Collector, CollectorOptions } from './collector'; import { UsageCollector } from './usage_collector'; diff --git a/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx b/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx index 226b108444b31..a5a949ce66c82 100644 --- a/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx +++ b/src/plugins/vis_default_editor/public/components/agg_group_helper.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { findIndex, isEmpty } from 'lodash4'; +import { findIndex, isEmpty } from 'lodash'; import { IAggConfig } from 'src/plugins/data/public'; import { AggsState } from './agg_group_state'; import { Schema, getSchemaByName } from '../schemas'; diff --git a/src/plugins/vis_default_editor/public/components/agg_params_helper.ts b/src/plugins/vis_default_editor/public/components/agg_params_helper.ts index 6044007fdf9a2..d3af687068737 100644 --- a/src/plugins/vis_default_editor/public/components/agg_params_helper.ts +++ b/src/plugins/vis_default_editor/public/components/agg_params_helper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isEmpty } from 'lodash4'; +import { get, isEmpty } from 'lodash'; import { IAggConfig, diff --git a/src/plugins/vis_default_editor/public/components/agg_select.tsx b/src/plugins/vis_default_editor/public/components/agg_select.tsx index 08ca350a9126e..8d03940a92d34 100644 --- a/src/plugins/vis_default_editor/public/components/agg_select.tsx +++ b/src/plugins/vis_default_editor/public/components/agg_select.tsx @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { get, has } from 'lodash4'; +import { get, has } from 'lodash'; import React, { useEffect, useCallback, useState } from 'react'; import { EuiComboBox, EuiComboBoxOptionOption, EuiFormRow, EuiLink, EuiText } from '@elastic/eui'; diff --git a/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx b/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx index 668636671efbe..37e95f2419b45 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/components/input_list.tsx @@ -18,7 +18,7 @@ */ import React, { useState, useEffect, Fragment, useCallback } from 'react'; -import { isEmpty, isEqual, mapValues, omitBy, pick } from 'lodash4'; +import { isEmpty, isEqual, mapValues, omitBy, pick } from 'lodash'; import { EuiButtonIcon, EuiFlexGroup, diff --git a/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts b/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts index cb15d7448afb4..c50ac929dc7bd 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts +++ b/src/plugins/vis_default_editor/public/components/controls/components/number_list/range.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn } from 'lodash4'; +import { forOwn } from 'lodash'; import { parseRange } from './range'; describe('Range parsing utility', () => { diff --git a/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts b/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts index be60ddae01219..32e05342da06e 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts +++ b/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash4'; +import { last } from 'lodash'; import { i18n } from '@kbn/i18n'; import { htmlIdGenerator } from '@elastic/eui'; diff --git a/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx b/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx index d48c736eb9d2f..079fa95d362ac 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/components/simple_number_list.tsx @@ -18,7 +18,7 @@ */ import React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'; -import { isArray } from 'lodash4'; +import { isArray } from 'lodash'; import { EuiButtonEmpty, EuiFlexItem, EuiFormRow, EuiSpacer, htmlIdGenerator } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { EMPTY_STRING, getInitModelList, getRange, parse } from './number_list/utils'; diff --git a/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx b/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx index 8e1dc464e3ab3..d3cf87c9ef14a 100644 --- a/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/date_ranges.tsx @@ -35,7 +35,7 @@ import { import dateMath from '@elastic/datemath'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { isEqual, omit } from 'lodash4'; +import { isEqual, omit } from 'lodash'; import { useMount } from 'react-use'; import { useKibana } from '../../../../kibana_react/public'; diff --git a/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx b/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx index 516347625aaaa..11df63c9a3fa1 100644 --- a/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/extended_bounds.tsx @@ -21,7 +21,7 @@ import React, { ChangeEvent } from 'react'; import { EuiFieldNumber, EuiFlexGroup, EuiFlexItem, EuiFormRow } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { isUndefined } from 'lodash4'; +import { isUndefined } from 'lodash'; import { useValidation } from './utils'; import { AggParamEditorProps } from '../agg_param_props'; diff --git a/src/plugins/vis_default_editor/public/components/controls/field.tsx b/src/plugins/vis_default_editor/public/components/controls/field.tsx index 3e5f46438aab8..24d94c2b18feb 100644 --- a/src/plugins/vis_default_editor/public/components/controls/field.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/field.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import React, { useState, useCallback } from 'react'; import { useMount } from 'react-use'; diff --git a/src/plugins/vis_default_editor/public/components/controls/filters.tsx b/src/plugins/vis_default_editor/public/components/controls/filters.tsx index cd8f596c426d6..04d0df27927fa 100644 --- a/src/plugins/vis_default_editor/public/components/controls/filters.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/filters.tsx @@ -18,7 +18,7 @@ */ import React, { useState, useEffect } from 'react'; -import { omit, isEqual } from 'lodash4'; +import { omit, isEqual } from 'lodash'; import { htmlIdGenerator, EuiButton, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { useMount } from 'react-use'; diff --git a/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx b/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx index be24a626c6126..f6354027ab01b 100644 --- a/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/number_interval.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import React, { useEffect, useCallback } from 'react'; import { EuiFieldNumber, EuiFormRow, EuiIconTip } from '@elastic/eui'; diff --git a/src/plugins/vis_default_editor/public/components/controls/ranges.tsx b/src/plugins/vis_default_editor/public/components/controls/ranges.tsx index d5aa43f765899..e5f5b53a3d879 100644 --- a/src/plugins/vis_default_editor/public/components/controls/ranges.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/ranges.tsx @@ -34,7 +34,7 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { isEqual, omit } from 'lodash4'; +import { isEqual, omit } from 'lodash'; const FROM_PLACEHOLDER = '\u2212\u221E'; const TO_PLACEHOLDER = '+\u221E'; diff --git a/src/plugins/vis_default_editor/public/components/controls/size.tsx b/src/plugins/vis_default_editor/public/components/controls/size.tsx index 656fd15c6c770..159607cbdbd57 100644 --- a/src/plugins/vis_default_editor/public/components/controls/size.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/size.tsx @@ -18,7 +18,7 @@ */ import React, { useEffect } from 'react'; -import { isUndefined } from 'lodash4'; +import { isUndefined } from 'lodash'; import { EuiFormRow, EuiFieldNumber } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx b/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx index 49767f7e3fe45..dd9e432fa512e 100644 --- a/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx +++ b/src/plugins/vis_default_editor/public/components/controls/time_interval.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get, find } from 'lodash4'; +import { get, find } from 'lodash'; import React, { useEffect } from 'react'; import { EuiFormRow, EuiIconTip, EuiComboBox, EuiComboBoxOptionOption } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx b/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx index 7af18cb9e1d75..b2c7bcafa15a3 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx +++ b/src/plugins/vis_default_editor/public/components/sidebar/data_tab.tsx @@ -18,7 +18,7 @@ */ import React, { useMemo, useCallback } from 'react'; -import { findLast } from 'lodash4'; +import { findLast } from 'lodash'; import { EuiSpacer } from '@elastic/eui'; import { diff --git a/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx b/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx index a1b63b8cbe517..837dd9bff2c6d 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx +++ b/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx @@ -18,7 +18,7 @@ */ import React, { useMemo, useState, useCallback, KeyboardEventHandler, useEffect } from 'react'; -import { get, isEqual } from 'lodash4'; +import { get, isEqual } from 'lodash'; import { i18n } from '@kbn/i18n'; import { keyCodes, EuiButtonIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { EventEmitter } from 'events'; diff --git a/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts b/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts index c4e0e5a1871b1..f5efb6263166a 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts +++ b/src/plugins/vis_default_editor/public/components/sidebar/state/reducers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { Vis } from 'src/plugins/visualizations/public'; import { AggGroupNames, DataPublicPluginStart } from '../../../../../data/public'; diff --git a/src/plugins/vis_default_editor/public/schemas.ts b/src/plugins/vis_default_editor/public/schemas.ts index 5acefa6fc87bb..d95a6252331bf 100644 --- a/src/plugins/vis_default_editor/public/schemas.ts +++ b/src/plugins/vis_default_editor/public/schemas.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { defaults } from 'lodash4'; +import _, { defaults } from 'lodash'; import { Optional } from '@kbn/utility-types'; diff --git a/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx b/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx index 09fabc50d89bd..f1453b0b2d10a 100644 --- a/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx +++ b/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { last, findIndex, isNaN } from 'lodash4'; +import { last, findIndex, isNaN } from 'lodash'; import React, { Component } from 'react'; import { isColorDark } from '@elastic/eui'; import { MetricVisValue } from './metric_vis_value'; diff --git a/src/plugins/vis_type_table/public/agg_table/agg_table.js b/src/plugins/vis_type_table/public/agg_table/agg_table.js index eadf985c50461..bd7626a493338 100644 --- a/src/plugins/vis_type_table/public/agg_table/agg_table.js +++ b/src/plugins/vis_type_table/public/agg_table/agg_table.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { CSV_SEPARATOR_SETTING, CSV_QUOTE_VALUES_SETTING } from '../../../share/public'; import aggTableTemplate from './agg_table.html'; import { getFormatService } from '../services'; diff --git a/src/plugins/vis_type_table/public/components/table_vis_options.tsx b/src/plugins/vis_type_table/public/components/table_vis_options.tsx index 55a7993cd668b..d220a6b2db842 100644 --- a/src/plugins/vis_type_table/public/components/table_vis_options.tsx +++ b/src/plugins/vis_type_table/public/components/table_vis_options.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import React, { useEffect, useMemo } from 'react'; import { EuiIconTip, EuiPanel } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_type_table/public/paginated_table/paginated_table.js b/src/plugins/vis_type_table/public/paginated_table/paginated_table.js index 4fc5b933e55a2..b1810e7143326 100644 --- a/src/plugins/vis_type_table/public/paginated_table/paginated_table.js +++ b/src/plugins/vis_type_table/public/paginated_table/paginated_table.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import paginatedTableTemplate from './paginated_table.html'; export function PaginatedTable($filter) { diff --git a/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts b/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts index 16b0d86d78ee7..de253f26ff9e7 100644 --- a/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts +++ b/src/plugins/vis_type_table/public/paginated_table/paginated_table.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isNumber, times, identity, random } from 'lodash4'; +import { isNumber, times, identity, random } from 'lodash'; import angular, { IRootScopeService, IScope, ICompileService } from 'angular'; import $ from 'jquery'; import 'angular-sanitize'; diff --git a/src/plugins/vis_type_table/public/paginated_table/rows.js b/src/plugins/vis_type_table/public/paginated_table/rows.js index 620bf98330e4d..d2192a5843644 100644 --- a/src/plugins/vis_type_table/public/paginated_table/rows.js +++ b/src/plugins/vis_type_table/public/paginated_table/rows.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import tableCellFilterHtml from './table_cell_filter.html'; export function KbnRows($compile) { diff --git a/src/plugins/vis_type_table/public/table_vis_controller.js b/src/plugins/vis_type_table/public/table_vis_controller.js index 5d2922e62a51a..8a620df986090 100644 --- a/src/plugins/vis_type_table/public/table_vis_controller.js +++ b/src/plugins/vis_type_table/public/table_vis_controller.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { assign } from 'lodash4'; +import { assign } from 'lodash'; export function TableVisController($scope) { const uiStateSort = $scope.uiState ? $scope.uiState.get('vis.params.sort') : {}; diff --git a/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts b/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts index 01b9880481068..3dfa4602a9525 100644 --- a/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts +++ b/src/plugins/vis_type_timelion/common/lib/to_milliseconds.ts @@ -17,7 +17,7 @@ * under the License. */ -import { keys } from 'lodash4'; +import { keys } from 'lodash'; import moment, { unitOfTime } from 'moment'; type Units = unitOfTime.Base | unitOfTime._quarter; diff --git a/src/plugins/vis_type_timelion/public/components/panel.tsx b/src/plugins/vis_type_timelion/public/components/panel.tsx index 86dd1adebb0a8..f4f1cd84613be 100644 --- a/src/plugins/vis_type_timelion/public/components/panel.tsx +++ b/src/plugins/vis_type_timelion/public/components/panel.tsx @@ -20,7 +20,7 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react'; import $ from 'jquery'; import moment from 'moment-timezone'; -import { debounce, compact, get, each, cloneDeep, last, map } from 'lodash4'; +import { debounce, compact, get, each, cloneDeep, last, map } from 'lodash'; import { useKibana } from '../../../kibana_react/public'; import '../flot'; diff --git a/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts b/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts index 37cd6a6f42cf8..8db057cdb3cc5 100644 --- a/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts +++ b/src/plugins/vis_type_timelion/public/components/timelion_expression_input_helpers.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, startsWith } from 'lodash4'; +import { get, startsWith } from 'lodash'; import { i18n } from '@kbn/i18n'; import { monaco } from '@kbn/monaco'; diff --git a/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts b/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts index a69a3429c2fcb..19ec46bd7f659 100644 --- a/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts +++ b/src/plugins/vis_type_timelion/public/helpers/arg_value_suggestions.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { getIndexPatterns, getSavedObjectsClient } from './plugin_services'; import { TimelionFunctionArgs } from '../../common/types'; import { indexPatterns as indexPatternsUtils, IndexPatternAttributes } from '../../../data/public'; diff --git a/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts b/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts index 47cbb7ed5b4bb..860b4e9f2dbde 100644 --- a/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts +++ b/src/plugins/vis_type_timelion/public/helpers/panel_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep, defaults, mergeWith, compact } from 'lodash4'; +import { cloneDeep, defaults, mergeWith, compact } from 'lodash'; import moment, { Moment } from 'moment-timezone'; import { TimefilterContract } from 'src/plugins/data/public'; diff --git a/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts b/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts index 2719131bf2f3b..c80f9c3ed5f4b 100644 --- a/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts +++ b/src/plugins/vis_type_timelion/public/helpers/tick_formatters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { Axis } from './panel_utils'; diff --git a/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts b/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts index 6fd68f0f974d5..7be18a4774d94 100644 --- a/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts +++ b/src/plugins/vis_type_timelion/public/timelion_vis_fn.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, diff --git a/src/plugins/vis_type_timelion/server/fit_functions/average.js b/src/plugins/vis_type_timelion/server/fit_functions/average.js index 4f50dab4e9d0e..09518a3286487 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/average.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/average.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // Upsampling and down sampling of non-cumulative sets // Good: min, max, average diff --git a/src/plugins/vis_type_timelion/server/fit_functions/average.test.js b/src/plugins/vis_type_timelion/server/fit_functions/average.test.js index 72e78a7cd3f0b..595a5f79a2e13 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/average.test.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/average.test.js @@ -20,7 +20,7 @@ import fn from './average'; import moment from 'moment'; const expect = require('chai').expect; -import _ from 'lodash4'; +import _ from 'lodash'; describe('average.js', function () { describe('average', function () { diff --git a/src/plugins/vis_type_timelion/server/fit_functions/carry.js b/src/plugins/vis_type_timelion/server/fit_functions/carry.js index 8bcd3a55dc927..155ed9ebeecbf 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/carry.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/carry.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; // Upsampling of non-cumulative sets diff --git a/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js b/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js index 5ed3bcc5c51e8..79575911d2022 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/carry.test.js @@ -20,7 +20,7 @@ import fn from './carry'; import moment from 'moment'; const expect = require('chai').expect; -import _ from 'lodash4'; +import _ from 'lodash'; describe('carry.js', function () { it('fills holes in the data', function () { diff --git a/src/plugins/vis_type_timelion/server/fit_functions/nearest.js b/src/plugins/vis_type_timelion/server/fit_functions/nearest.js index 3ddbe427ca8c2..f15f529b5fde4 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/nearest.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/nearest.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // Upsampling and downsampling of non-cumulative sets // Good: average, min, max diff --git a/src/plugins/vis_type_timelion/server/fit_functions/scale.js b/src/plugins/vis_type_timelion/server/fit_functions/scale.js index f81ecb9dd9a46..3c80d8611b205 100644 --- a/src/plugins/vis_type_timelion/server/fit_functions/scale.js +++ b/src/plugins/vis_type_timelion/server/fit_functions/scale.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; // Downsampling of cumulative metrics // Good: count, sum diff --git a/src/plugins/vis_type_timelion/server/handlers/chain_runner.js b/src/plugins/vis_type_timelion/server/handlers/chain_runner.js index 8a6cab876f911..2ee8deb4dd049 100644 --- a/src/plugins/vis_type_timelion/server/handlers/chain_runner.js +++ b/src/plugins/vis_type_timelion/server/handlers/chain_runner.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import Bluebird from 'bluebird'; import { i18n } from '@kbn/i18n'; import moment from 'moment'; diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js b/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js index eed880514d1d0..69e105ebaac9f 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/arg_type.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function argType(arg) { if (Array.isArray(arg)) { diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js b/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js index a02ee46dabd23..7ea8cd362c94b 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/index_arguments.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; // Only applies to already resolved arguments diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js b/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js index 81fcbedb968bf..a210cf594f48b 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/parse_sheet.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import fs from 'fs'; import path from 'path'; -import _ from 'lodash4'; +import _ from 'lodash'; const grammar = fs.readFileSync(path.resolve(__dirname, '../../../common/chain.peg'), 'utf8'); import PEG from 'pegjs'; const Parser = PEG.generate(grammar); diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js b/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js index 5b0ff61fbcb18..78b71b8ced282 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/preprocess_chain.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function preProcessChainFn(tlConfig) { return function preProcessChain(chain, queries) { diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js b/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js index 619387f8fba77..aa9992495b201 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/reposition_arguments.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; // Applies to unresolved arguments in the AST diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js b/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js index c043aad605340..bb97e92ef0eed 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/tl_config.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import buildTarget from '../../lib/build_target.js'; export default function tlConfigFn(setup) { diff --git a/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js b/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js index 9dfa1f9aed9a8..11004d2784d3c 100644 --- a/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js +++ b/src/plugins/vis_type_timelion/server/handlers/lib/validate_arg.js @@ -18,7 +18,7 @@ */ import argType from './arg_type'; -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; export default function validateArgFn(functionDef) { diff --git a/src/plugins/vis_type_timelion/server/lib/alter.js b/src/plugins/vis_type_timelion/server/lib/alter.js index 9923ec893b438..46bf0a44aaf76 100644 --- a/src/plugins/vis_type_timelion/server/lib/alter.js +++ b/src/plugins/vis_type_timelion/server/lib/alter.js @@ -18,7 +18,7 @@ */ import Bluebird from 'bluebird'; -import _ from 'lodash4'; +import _ from 'lodash'; /* @param {Array} args * - args[0] must be a seriesList diff --git a/src/plugins/vis_type_timelion/server/lib/as_sorted.js b/src/plugins/vis_type_timelion/server/lib/as_sorted.js index d7b7b0b2c87a4..6a2b7c0f5a9f5 100644 --- a/src/plugins/vis_type_timelion/server/lib/as_sorted.js +++ b/src/plugins/vis_type_timelion/server/lib/as_sorted.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import unzipPairs from './unzip_pairs.js'; export default function asSorted(timeValObject, fn) { diff --git a/src/plugins/vis_type_timelion/server/lib/classes/datasource.js b/src/plugins/vis_type_timelion/server/lib/classes/datasource.js index 92d4b61034d00..c694942ee8793 100644 --- a/src/plugins/vis_type_timelion/server/lib/classes/datasource.js +++ b/src/plugins/vis_type_timelion/server/lib/classes/datasource.js @@ -22,7 +22,7 @@ import loadFunctions from '../load_functions.js'; const fitFunctions = loadFunctions('fit_functions'); import TimelionFunction from './timelion_function'; import { offsetTime, preprocessOffset } from '../offset_time'; -import _ from 'lodash4'; +import _ from 'lodash'; function offsetSeries(response, offset) { if (offset) { diff --git a/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js b/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js index f5f39a4eeeaa7..3d53fc8d5bd09 100644 --- a/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js +++ b/src/plugins/vis_type_timelion/server/lib/classes/timelion_function.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import loadFunctions from '../load_functions.js'; const fitFunctions = loadFunctions('fit_functions'); diff --git a/src/plugins/vis_type_timelion/server/lib/functions_md.js b/src/plugins/vis_type_timelion/server/lib/functions_md.js index e3ebe4ac84992..275e27e5081a9 100644 --- a/src/plugins/vis_type_timelion/server/lib/functions_md.js +++ b/src/plugins/vis_type_timelion/server/lib/functions_md.js @@ -19,7 +19,7 @@ import loadFunctions from './load_functions.js'; const functions = loadFunctions('series_functions/'); -import _ from 'lodash4'; +import _ from 'lodash'; export default (function () { const functionArray = _.map(functions, function (val, key) { diff --git a/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js b/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js index d6cbeb4a678c7..51264decf8a31 100644 --- a/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js +++ b/src/plugins/vis_type_timelion/server/lib/get_namespaced_settings.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import configFile from '../timelion.json'; export default function () { diff --git a/src/plugins/vis_type_timelion/server/lib/load_functions.js b/src/plugins/vis_type_timelion/server/lib/load_functions.js index 5e1d04a24390d..699342cff6a79 100644 --- a/src/plugins/vis_type_timelion/server/lib/load_functions.js +++ b/src/plugins/vis_type_timelion/server/lib/load_functions.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import glob from 'glob'; import path from 'path'; import processFunctionDefinition from './process_function_definition'; diff --git a/src/plugins/vis_type_timelion/server/lib/process_function_definition.js b/src/plugins/vis_type_timelion/server/lib/process_function_definition.js index 2f79a602aec54..3159d33c884e8 100644 --- a/src/plugins/vis_type_timelion/server/lib/process_function_definition.js +++ b/src/plugins/vis_type_timelion/server/lib/process_function_definition.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (func) { const functions = {}; diff --git a/src/plugins/vis_type_timelion/server/lib/reduce.js b/src/plugins/vis_type_timelion/server/lib/reduce.js index cff8d0aa7ba98..1a5d78676fc72 100644 --- a/src/plugins/vis_type_timelion/server/lib/reduce.js +++ b/src/plugins/vis_type_timelion/server/lib/reduce.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; function allSeriesContainKey(seriesList, key) { const containsKeyInitialValue = true; diff --git a/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js b/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js index 5c30f53fd530e..412049c89ef2f 100644 --- a/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js +++ b/src/plugins/vis_type_timelion/server/lib/unzip_pairs.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function unzipPairs(timeValObject) { const paired = _.chain(timeValObject) diff --git a/src/plugins/vis_type_timelion/server/routes/functions.ts b/src/plugins/vis_type_timelion/server/routes/functions.ts index 4321f3cea531b..85723824d2141 100644 --- a/src/plugins/vis_type_timelion/server/routes/functions.ts +++ b/src/plugins/vis_type_timelion/server/routes/functions.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { IRouter } from 'kibana/server'; import { LoadFunctions } from '../lib/load_functions'; diff --git a/src/plugins/vis_type_timelion/server/routes/run.ts b/src/plugins/vis_type_timelion/server/routes/run.ts index c96011eceac67..b8cefc8a07f28 100644 --- a/src/plugins/vis_type_timelion/server/routes/run.ts +++ b/src/plugins/vis_type_timelion/server/routes/run.ts @@ -19,7 +19,7 @@ import { IRouter, Logger } from 'kibana/server'; import { schema } from '@kbn/config-schema'; import Bluebird from 'bluebird'; -import _ from 'lodash4'; +import _ from 'lodash'; // @ts-ignore import chainRunnerFn from '../handlers/chain_runner.js'; // @ts-ignore diff --git a/src/plugins/vis_type_timelion/server/routes/validate_es.ts b/src/plugins/vis_type_timelion/server/routes/validate_es.ts index 82c43879eaa2a..d5ce80dc151a2 100644 --- a/src/plugins/vis_type_timelion/server/routes/validate_es.ts +++ b/src/plugins/vis_type_timelion/server/routes/validate_es.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { IRouter } from 'kibana/server'; export function validateEsRoute(router: IRouter) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/abs.js b/src/plugins/vis_type_timelion/server/series_functions/abs.js index 653943d657840..d55da3b7ec0e0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/abs.js +++ b/src/plugins/vis_type_timelion/server/series_functions/abs.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('abs', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/abs.test.js b/src/plugins/vis_type_timelion/server/series_functions/abs.test.js index 49c2bf269a0d6..2e01370ddfb99 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/abs.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/abs.test.js @@ -19,7 +19,7 @@ import fn from './abs'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; const seriesList = require('./fixtures/series_list.js')(); import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js index a27ba30e11923..8686c6b6542db 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/aggregate.test.js @@ -19,7 +19,7 @@ import fn from './index'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from '../helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js index 8572171525d7b..853ce337efac2 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/avg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.sum(points) / points.length; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js index 74ce1126aac83..807e620ee941b 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/cardinality.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.uniq(points).length; diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js index c3c91b8275f6a..05e560b84335f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/first.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.first(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js index ccb554e190c9c..2340456e589ad 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/index.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../../lib/alter.js'; import Chainable from '../../lib/classes/chainable'; -import _ from 'lodash4'; +import _ from 'lodash'; const functions = { avg: require('./avg'), diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js index 4c0b4213966fd..8f252fb451027 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/last.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.last(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js index 3a7372f1f9d20..5b2610f07bbea 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/max.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.max(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js index fd49a76643e58..1ebf9be2f9146 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/min.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.min(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js b/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js index 88398679f2bbc..34b5fe277dd34 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js +++ b/src/plugins/vis_type_timelion/server/series_functions/aggregate/sum.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (points) { return _.sum(points); diff --git a/src/plugins/vis_type_timelion/server/series_functions/bars.test.js b/src/plugins/vis_type_timelion/server/series_functions/bars.test.js index ecc6a04777706..936c68b64d580 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/bars.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/bars.test.js @@ -19,7 +19,7 @@ import fn from './bars'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/color.test.js b/src/plugins/vis_type_timelion/server/series_functions/color.test.js index e7ee8c0ab5b57..b0eb11219ed01 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/color.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/color.test.js @@ -19,7 +19,7 @@ import fn from './color'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/condition.js b/src/plugins/vis_type_timelion/server/series_functions/condition.js index ee5d31bdf1bf6..789b3c60e4a9c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/condition.js +++ b/src/plugins/vis_type_timelion/server/series_functions/condition.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; import argType from '../handlers/lib/arg_type.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/condition.test.js b/src/plugins/vis_type_timelion/server/series_functions/condition.test.js index e4abcf4fca7b0..7730bcc1acca3 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/condition.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/condition.test.js @@ -22,7 +22,7 @@ import moment from 'moment'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; import getSeriesList from './helpers/get_single_series_list'; -import _ from 'lodash4'; +import _ from 'lodash'; describe('condition.js', function () { let comparable; diff --git a/src/plugins/vis_type_timelion/server/series_functions/cusum.js b/src/plugins/vis_type_timelion/server/series_functions/cusum.js index 5eee545c79e7f..decbd22b4345c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/cusum.js +++ b/src/plugins/vis_type_timelion/server/series_functions/cusum.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('cusum', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js b/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js index 0b0efe87ad5f6..91d01e10c5826 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/cusum.test.js @@ -19,7 +19,7 @@ import fn from './cusum'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/derivative.js b/src/plugins/vis_type_timelion/server/series_functions/derivative.js index 1bc02aa3be681..a034585597d63 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/derivative.js +++ b/src/plugins/vis_type_timelion/server/series_functions/derivative.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('derivative', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js b/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js index bc690ba23c4ab..2da72ecf9f4e0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/derivative.test.js @@ -19,7 +19,7 @@ import fn from './derivative'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/divide.test.js b/src/plugins/vis_type_timelion/server/series_functions/divide.test.js index 5c9ed748e61b0..ceb435f6c9898 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/divide.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/divide.test.js @@ -19,7 +19,7 @@ import fn from './divide'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js b/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js index 78cfcba1cafa9..a624ff72ead69 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/es.test.js @@ -26,7 +26,7 @@ import createDateAgg from './lib/create_date_agg'; import esResponse from '../fixtures/es_response'; import Bluebird from 'bluebird'; -import _ from 'lodash4'; +import _ from 'lodash'; import { expect } from 'chai'; import sinon from 'sinon'; import invoke from '../helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/index.js b/src/plugins/vis_type_timelion/server/series_functions/es/index.js index e7d8aa9730e81..fd392f599c1d2 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/index.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import Datasource from '../../lib/classes/datasource'; import buildRequest from './lib/build_request'; import toSeriesList from './lib/agg_response_to_series_list'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js b/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js index 1cf150eb3ab61..fbae9c5afffe8 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/lib/agg_response_to_series_list.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function timeBucketsToPairs(buckets) { const timestamps = _.map(buckets, 'key'); diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js b/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js index 2b6e962d3dbfe..e407636c41567 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/lib/build_request.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import moment from 'moment'; import { buildAggBody } from './agg_body'; import createDateAgg from './create_date_agg'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js b/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js index ae498f6fd94ae..904fe69cbc57c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js +++ b/src/plugins/vis_type_timelion/server/series_functions/es/lib/create_date_agg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { buildAggBody } from './agg_body'; export default function createDateAgg(config, tlConfig, scriptedFields) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/fit.js b/src/plugins/vis_type_timelion/server/series_functions/fit.js index 843bf6c731fcc..b472c23b9c79f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/fit.js +++ b/src/plugins/vis_type_timelion/server/series_functions/fit.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; import loadFunctions from '../lib/load_functions.js'; const fitFunctions = loadFunctions('fit_functions'); diff --git a/src/plugins/vis_type_timelion/server/series_functions/fit.test.js b/src/plugins/vis_type_timelion/server/series_functions/fit.test.js index 6a8596f1488eb..c352f3ba60b87 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/fit.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/fit.test.js @@ -22,7 +22,7 @@ import moment from 'moment'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; import getSeriesList from './helpers/get_single_series_list'; -import _ from 'lodash4'; +import _ from 'lodash'; describe('fit.js', function () { describe('should not filter out zeros', function () { diff --git a/src/plugins/vis_type_timelion/server/series_functions/graphite.js b/src/plugins/vis_type_timelion/server/series_functions/graphite.js index fb3da108a67dd..c0b6ba1bc0fff 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/graphite.js +++ b/src/plugins/vis_type_timelion/server/series_functions/graphite.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import fetch from 'node-fetch'; import moment from 'moment'; import Datasource from '../lib/classes/datasource'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js index 9f33faef46d7d..76ac57f8247ec 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function getSeries(name, buckets, points) { const fill = _.partial( diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js index 8f34e589dccf0..c32f919a269b8 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_series_list.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function (list, overrides) { return _.merge( diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js index 193aca481112d..b307461a4133e 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/get_single_series_list.js @@ -19,7 +19,7 @@ import getSeries from './get_series'; import getSeriesList from './get_series_list'; -import _ from 'lodash4'; +import _ from 'lodash'; export default function (name, data) { return getSeriesList([getSeries(name, _.map(data, 0), _.map(data, 1))]); diff --git a/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js b/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js index bdc4b70511c55..8ea6e7af59231 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js +++ b/src/plugins/vis_type_timelion/server/series_functions/helpers/invoke_series_fn.js @@ -18,7 +18,7 @@ */ // invokes a series_function with the specified arguments -import _ from 'lodash4'; +import _ from 'lodash'; import indexArguments from '../../handlers/lib/index_arguments'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/hide.test.js b/src/plugins/vis_type_timelion/server/series_functions/hide.test.js index 75faa5d9398ac..ad330bb7844de 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/hide.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/hide.test.js @@ -19,7 +19,7 @@ import fn from './hide'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/index.js b/src/plugins/vis_type_timelion/server/series_functions/holt/index.js index b7d81c64bf005..dd3274c5766af 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/index.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../../lib/classes/chainable'; import ses from './lib/ses'; import des from './lib/des'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js index 5b51f0fb68c94..a1fe4b1f1f52c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/des.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; export default function des(points, alpha, beta) { let level; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js index 38a351fa534ff..5fe4eddc4ab15 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/ses.js @@ -21,7 +21,7 @@ Single exponential smoothing. Assuming even interval */ -import _ from 'lodash4'; +import _ from 'lodash'; export default function ses(points, alpha) { let origin; diff --git a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js index bb60ef6d5ac49..d8d136a5e78ce 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js +++ b/src/plugins/vis_type_timelion/server/series_functions/holt/lib/tes.js @@ -27,7 +27,7 @@ Hourly data might have: - Annual seasonality (frequency=24×365.25=8766) */ -import _ from 'lodash4'; +import _ from 'lodash'; // Uh, I don't think this will work when you have nulls in the initial seasonal components function initSeasonalComponents(samplePoints, seasonLength) { diff --git a/src/plugins/vis_type_timelion/server/series_functions/label.test.js b/src/plugins/vis_type_timelion/server/series_functions/label.test.js index 681aff257f82c..6ce6b688c77c4 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/label.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/label.test.js @@ -19,7 +19,7 @@ import fn from './label'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/log.js b/src/plugins/vis_type_timelion/server/series_functions/log.js index 6fe57f7c66576..7b9ce4c9f68ec 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/log.js +++ b/src/plugins/vis_type_timelion/server/series_functions/log.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('log', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/log.test.js b/src/plugins/vis_type_timelion/server/series_functions/log.test.js index 766189888513a..b658d84cd1afa 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/log.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/log.test.js @@ -19,7 +19,7 @@ import fn from './log'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/max.test.js b/src/plugins/vis_type_timelion/server/series_functions/max.test.js index fb085050c7983..9ac9a3eff5582 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/max.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/max.test.js @@ -19,7 +19,7 @@ import fn from './max'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/min.test.js b/src/plugins/vis_type_timelion/server/series_functions/min.test.js index d8e4e842765f2..691185a7d068e 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/min.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/min.test.js @@ -19,7 +19,7 @@ import fn from './min'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js index 3b1b7fc1d3f0f..fdaa4dcd8c098 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js +++ b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; import { toMS } from '../../common/lib/to_milliseconds'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js index d382308447a6b..a71c57cab28e3 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/movingaverage.test.js @@ -21,7 +21,7 @@ import fn from './movingaverage'; const expect = require('chai').expect; import moment from 'moment'; -import _ from 'lodash4'; +import _ from 'lodash'; import buckets from './fixtures/bucket_list'; import getSeries from './helpers/get_series'; import getSeriesList from './helpers/get_series_list'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/movingstd.js b/src/plugins/vis_type_timelion/server/series_functions/movingstd.js index c144fa5f9154c..2b9ab08f02ede 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/movingstd.js +++ b/src/plugins/vis_type_timelion/server/series_functions/movingstd.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; const positions = ['left', 'right', 'center']; diff --git a/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js b/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js index ae9f823767df9..906646cf971b5 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/multiply.test.js @@ -19,7 +19,7 @@ import fn from './multiply'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/points.js b/src/plugins/vis_type_timelion/server/series_functions/points.js index 89bb71768a584..74d616cffd52d 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/points.js +++ b/src/plugins/vis_type_timelion/server/series_functions/points.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; const validSymbols = ['triangle', 'cross', 'square', 'diamond', 'circle']; diff --git a/src/plugins/vis_type_timelion/server/series_functions/points.test.js b/src/plugins/vis_type_timelion/server/series_functions/points.test.js index e3d339f4791d0..fe7b6f13e1378 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/points.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/points.test.js @@ -19,7 +19,7 @@ import fn from './points'; -import _ from 'lodash4'; +import _ from 'lodash'; import assert from 'chai'; const expect = assert.expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/precision.test.js b/src/plugins/vis_type_timelion/server/series_functions/precision.test.js index c69d07ba94a2c..e56feb3d7c420 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/precision.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/precision.test.js @@ -19,7 +19,7 @@ import fn from './precision'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/props.js b/src/plugins/vis_type_timelion/server/series_functions/props.js index 037b76b1834a1..6205e4d43fbf0 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/props.js +++ b/src/plugins/vis_type_timelion/server/series_functions/props.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; import Chainable from '../lib/classes/chainable'; -import _ from 'lodash4'; +import _ from 'lodash'; function unflatten(data) { if (Object(data) !== data || Array.isArray(data)) return data; diff --git a/src/plugins/vis_type_timelion/server/series_functions/quandl.js b/src/plugins/vis_type_timelion/server/series_functions/quandl.js index 2394118be240f..775ebb17a8d2c 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/quandl.js +++ b/src/plugins/vis_type_timelion/server/series_functions/quandl.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import fetch from 'node-fetch'; import moment from 'moment'; fetch.Promise = require('bluebird'); diff --git a/src/plugins/vis_type_timelion/server/series_functions/range.js b/src/plugins/vis_type_timelion/server/series_functions/range.js index 4b97583c22458..38525bec7226a 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/range.js +++ b/src/plugins/vis_type_timelion/server/series_functions/range.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('range', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/range.test.js b/src/plugins/vis_type_timelion/server/series_functions/range.test.js index a647ee60f193e..b9a514602e364 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/range.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/range.test.js @@ -19,7 +19,7 @@ import fn from './range'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js index e4764939c221a..8d7ea463df186 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js +++ b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.js @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; import { toMS } from '../../common/lib/to_milliseconds'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('scale_interval', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js index 1320cdc4d569f..24e7e1b07048d 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/scale_interval.test.js @@ -19,7 +19,7 @@ import fn from './scale_interval'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/static.js b/src/plugins/vis_type_timelion/server/series_functions/static.js index 03c0cbd79b170..631131e6f0b57 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/static.js +++ b/src/plugins/vis_type_timelion/server/series_functions/static.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import Datasource from '../lib/classes/datasource'; import Bluebird from 'bluebird'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/static.test.js b/src/plugins/vis_type_timelion/server/series_functions/static.test.js index 8ea1dcda2a098..36c5dc708f860 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/static.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/static.test.js @@ -19,7 +19,7 @@ import fn from './static'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js b/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js index 63550221dee18..7085e0baed023 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/subtract.test.js @@ -19,7 +19,7 @@ import fn from './subtract'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/sum.test.js b/src/plugins/vis_type_timelion/server/series_functions/sum.test.js index efb98b6ec3175..360f19c97f8e1 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/sum.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/sum.test.js @@ -19,7 +19,7 @@ import fn from './sum'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/title.test.js b/src/plugins/vis_type_timelion/server/series_functions/title.test.js index 3ce844e76d10b..c45b91ebfd4d1 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/title.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/title.test.js @@ -19,7 +19,7 @@ import fn from './title'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/trend/index.js b/src/plugins/vis_type_timelion/server/series_functions/trend/index.js index e78c5544b7533..ea5175db3c84b 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trend/index.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trend/index.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../../lib/classes/chainable'; import { linear, log } from './lib/regress'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js b/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js index 40611b4b721d7..816692da7d017 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trend/lib/regress.js @@ -23,7 +23,7 @@ * Licensed under the MIT license. */ -import _ from 'lodash4'; +import _ from 'lodash'; function sum(data, fn) { return _.reduce( diff --git a/src/plugins/vis_type_timelion/server/series_functions/trim.js b/src/plugins/vis_type_timelion/server/series_functions/trim.js index 5ce1408882162..8a8e38ab3a5a7 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trim.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trim.js @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import alter from '../lib/alter.js'; -import _ from 'lodash4'; +import _ from 'lodash'; import Chainable from '../lib/classes/chainable'; export default new Chainable('trim', { diff --git a/src/plugins/vis_type_timelion/server/series_functions/trim.test.js b/src/plugins/vis_type_timelion/server/series_functions/trim.test.js index ebe77ec04531a..6b1e88f37c145 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/trim.test.js +++ b/src/plugins/vis_type_timelion/server/series_functions/trim.test.js @@ -19,7 +19,7 @@ import fn from './trim'; -import _ from 'lodash4'; +import _ from 'lodash'; const expect = require('chai').expect; import invoke from './helpers/invoke_series_fn.js'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/worldbank.js b/src/plugins/vis_type_timelion/server/series_functions/worldbank.js index 7a8e95d50cdab..7a73fd341a8da 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/worldbank.js +++ b/src/plugins/vis_type_timelion/server/series_functions/worldbank.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import fetch from 'node-fetch'; import moment from 'moment'; import Datasource from '../lib/classes/datasource'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js b/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js index c1e311ea8d29a..305c586a2090f 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js +++ b/src/plugins/vis_type_timelion/server/series_functions/worldbank_indicators.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import worldbank from './worldbank.js'; import Bluebird from 'bluebird'; import Datasource from '../lib/classes/datasource'; diff --git a/src/plugins/vis_type_timelion/server/series_functions/yaxis.js b/src/plugins/vis_type_timelion/server/series_functions/yaxis.js index 6dea51e8d243a..7a249305ee76e 100644 --- a/src/plugins/vis_type_timelion/server/series_functions/yaxis.js +++ b/src/plugins/vis_type_timelion/server/series_functions/yaxis.js @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import alter from '../lib/alter.js'; import Chainable from '../lib/classes/chainable'; const tickFormatters = { diff --git a/src/plugins/vis_type_timeseries/common/agg_lookup.js b/src/plugins/vis_type_timeseries/common/agg_lookup.js index 8922a279a7400..432da03e3d45d 100644 --- a/src/plugins/vis_type_timeseries/common/agg_lookup.js +++ b/src/plugins/vis_type_timeseries/common/agg_lookup.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; export const lookup = { diff --git a/src/plugins/vis_type_timeseries/common/calculate_label.js b/src/plugins/vis_type_timeseries/common/calculate_label.js index 309c854065ed7..9f3030eeb6eae 100644 --- a/src/plugins/vis_type_timeseries/common/calculate_label.js +++ b/src/plugins/vis_type_timeseries/common/calculate_label.js @@ -17,7 +17,7 @@ * under the License. */ -import { includes, startsWith } from 'lodash4'; +import { includes, startsWith } from 'lodash'; import { lookup } from './agg_lookup'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_type_timeseries/common/extract_index_patterns.js b/src/plugins/vis_type_timeseries/common/extract_index_patterns.js index b90073c96913b..3fb005b477199 100644 --- a/src/plugins/vis_type_timeseries/common/extract_index_patterns.js +++ b/src/plugins/vis_type_timeseries/common/extract_index_patterns.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { uniq } from 'lodash4'; +import { uniq } from 'lodash'; export function extractIndexPatterns(panel, excludedFields = {}) { const patterns = []; diff --git a/src/plugins/vis_type_timeseries/common/get_last_value.js b/src/plugins/vis_type_timeseries/common/get_last_value.js index 391d24dbb6429..4ee7d122b3c03 100644 --- a/src/plugins/vis_type_timeseries/common/get_last_value.js +++ b/src/plugins/vis_type_timeseries/common/get_last_value.js @@ -17,7 +17,7 @@ * under the License. */ -import { isArray, last } from 'lodash4'; +import { isArray, last } from 'lodash'; const DEFAULT_VALUE = 0; const extractValue = (data) => (data && data[1]) || null; diff --git a/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js b/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js index c2c92aaff6489..798d16947c3d9 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js +++ b/src/plugins/vis_type_timeseries/public/application/components/add_delete_buttons.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { EuiToolTip, EuiButtonIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { isBoolean } from 'lodash4'; +import { isBoolean } from 'lodash'; export function AddDeleteButtons(props) { const { testSubj } = props; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js index 0e79b52629c07..a2f1640904dd0 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { last } from 'lodash4'; +import { last } from 'lodash'; import { AddDeleteButtons } from '../add_delete_buttons'; import { EuiIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { SeriesDragHandler } from '../series_drag_handler'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js index 056db626e74b1..83ddc23648ad3 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { includes } from 'lodash4'; +import { includes } from 'lodash'; import { injectI18n } from '@kbn/i18n/react'; import { EuiComboBox } from '@elastic/eui'; import { calculateSiblings } from '../lib/calculate_siblings'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js index a7390b23c5e22..fd64559cc1ec2 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/multi_value_row.js @@ -18,7 +18,7 @@ */ import PropTypes from 'prop-types'; import React from 'react'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { FormattedMessage } from '@kbn/i18n/react'; import { htmlIdGenerator, diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js index b455174cd2fa0..c8af4089ed783 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { assign } from 'lodash4'; +import { assign } from 'lodash'; import { AggSelect } from '../agg_select'; import { FieldSelect } from '../field_select'; import { AggRow } from '../agg_row'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js index 5e05f07d69aa5..6d52eb9e3515c 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_rank/percentile_rank_values.js @@ -18,7 +18,7 @@ */ import PropTypes from 'prop-types'; import React from 'react'; -import { last } from 'lodash4'; +import { last } from 'lodash'; import { EuiFlexGroup } from '@elastic/eui'; import { MultiValueRow } from './multi_value_row'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js index 835d6866c22ae..bd421248a3607 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/percentile_ui.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { collectionActions } from '../lib/collection_actions'; import { AddDeleteButtons } from '../add_delete_buttons'; import uuid from 'uuid'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js index abbccf5f9b717..004a378f5d86f 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/vars.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import uuid from 'uuid'; import { i18n } from '@kbn/i18n'; -import _ from 'lodash4'; +import _ from 'lodash'; import { AddDeleteButtons } from '../add_delete_buttons'; import { collectionActions } from '../lib/collection_actions'; import { MetricSelect } from './metric_select'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js b/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js index 7811238ad067a..34132e5f72716 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/annotations_editor.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { collectionActions } from './lib/collection_actions'; import { KBN_FIELD_TYPES } from '../../../../../plugins/data/public'; import { AddDeleteButtons } from './add_delete_buttons'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/color_rules.js b/src/plugins/vis_type_timeseries/public/application/components/color_rules.js index fba92f3fb7e39..46b2886daf36d 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/color_rules.js +++ b/src/plugins/vis_type_timeseries/public/application/components/color_rules.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component, Fragment } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { AddDeleteButtons } from './add_delete_buttons'; import { collectionActions } from './lib/collection_actions'; import { ColorPicker } from './color_picker'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js b/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js index a90f808929eae..dca82cdc0b6b6 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js +++ b/src/plugins/vis_type_timeseries/public/application/components/data_format_picker.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { htmlIdGenerator, EuiComboBox, diff --git a/src/plugins/vis_type_timeseries/public/application/components/error.js b/src/plugins/vis_type_timeseries/public/application/components/error.js index e7aa806bbf5fc..2bdce7839621d 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/error.js +++ b/src/plugins/vis_type_timeseries/public/application/components/error.js @@ -20,7 +20,7 @@ import { EuiIcon, EuiSpacer, EuiText } from '@elastic/eui'; import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { FormattedMessage } from '@kbn/i18n/react'; const guidPattern = /\[[[a-f\d-\\]{36}\]/g; diff --git a/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js b/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js index 9c741627b5c63..30c6d5b51d187 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js +++ b/src/plugins/vis_type_timeseries/public/application/components/index_pattern.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import PropTypes from 'prop-types'; import React, { useContext } from 'react'; import { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js b/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js index 8ee5f7f82c7fd..d813a3536f9d8 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/calculate_siblings.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; function getAncestors(siblings, item) { const ancestors = (item.id && [item.id]) || []; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js b/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js index c9198d942b19b..2495026304be8 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/charts.js @@ -17,6 +17,6 @@ * under the License. */ -import { uniq, map, size, flow } from 'lodash4'; +import { uniq, map, size, flow } from 'lodash'; export const areFieldsDifferent = (name) => (series) => flow(uniq, size)(map(series, name)) > 1; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js b/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js index 42f302808c6a4..4d48095898b80 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/convert_series_to_vars.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { getLastValue } from '../../../../../../plugins/vis_type_timeseries/common/get_last_value'; import { createTickFormatter } from './tick_formatter'; import moment from 'moment'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js index 1fc90527d29d0..beee459c65458 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_change_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export const createChangeHandler = (handleChange, model) => (part) => { const doc = _.assign({}, model, part); diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js index 608dd29eb755d..961f5e95a9f10 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_number_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { detectIE } from './detect_ie'; export const createNumberHandler = (handleChange) => { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js index d15aa1fb2bd39..ff6c2cc0767f5 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_select_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export const createSelectHandler = (handleChange) => { return (name) => (selectedOptions) => { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js index 184ef49d8dc88..1dd5e02d74980 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/create_text_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { detectIE } from './detect_ie'; export const createTextHandler = (handleChange) => { diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js b/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js index a61635ae5edc5..86361afca3b12 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/get_interval.js @@ -18,7 +18,7 @@ */ import moment from 'moment'; import { i18n } from '@kbn/i18n'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { search } from '../../../../../../plugins/data/public'; const { parseEsInterval } = search.aggs; import { GTE_INTERVAL_RE } from '../../../../../../plugins/vis_type_timeseries/common/interval_regexp'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js b/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js index afc7e4c0de868..9d2398ed079a9 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/new_series_fn.js @@ -18,7 +18,7 @@ */ import uuid from 'uuid'; -import _ from 'lodash4'; +import _ from 'lodash'; import { newMetricAggFn } from './new_metric_agg_fn'; import { STACKED_OPTIONS } from '../../visualizations/constants'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js b/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js index 2f4b05a77c512..2c961b00b5ef9 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/re_id_series.js @@ -18,7 +18,7 @@ */ import uuid from 'uuid'; -import _ from 'lodash4'; +import _ from 'lodash'; export const reIdSeries = (source) => { const series = _.cloneDeep(source); diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js b/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js index 85056ea002b70..f28e06384868a 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/replace_vars.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import handlebars from 'handlebars/dist/handlebars'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js index fabdb9ffd6df8..0638c6e67f5ef 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { newMetricAggFn } from './new_metric_agg_fn'; import { isBasicAgg } from '../../../../../../plugins/vis_type_timeseries/common/agg_lookup'; import { handleAdd, handleChange } from './collection_actions'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js b/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js index 9e13965d567e7..e1f25fccf6369 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/tick_formatter.js @@ -18,7 +18,7 @@ */ import handlebars from 'handlebars/dist/handlebars'; -import { isNumber } from 'lodash4'; +import { isNumber } from 'lodash'; import { inputFormats, outputFormats, isDuration } from '../lib/durations'; import { getFieldFormats } from '../../../services'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js b/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js index 15bad3647e073..1de58adc7e268 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/markdown_editor.js @@ -25,7 +25,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { createTickFormatter } from './lib/tick_formatter'; import { convertSeriesToVars } from './lib/convert_series_to_vars'; -import _ from 'lodash4'; +import _ from 'lodash'; import 'brace/mode/markdown'; import 'brace/theme/github'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js b/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js index 3a25e9173feae..2b729e403898e 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js +++ b/src/plugins/vis_type_timeseries/public/application/components/panel_config/table.js @@ -23,7 +23,7 @@ import { FieldSelect } from '../aggs/field_select'; import { SeriesEditor } from '../series_editor'; import { IndexPattern } from '../index_pattern'; import { createTextHandler } from '../lib/create_text_handler'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import uuid from 'uuid'; import { YesNo } from '../yes_no'; import { diff --git a/src/plugins/vis_type_timeseries/public/application/components/series.js b/src/plugins/vis_type_timeseries/public/application/components/series.js index 46c405937cd16..565ddb53f2633 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/series.js +++ b/src/plugins/vis_type_timeseries/public/application/components/series.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import { assign, get } from 'lodash4'; +import { assign, get } from 'lodash'; import { TimeseriesSeries as timeseries } from './vis_types/timeseries/series'; import { MetricSeries as metric } from './vis_types/metric/series'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/series_editor.js b/src/plugins/vis_type_timeseries/public/application/components/series_editor.js index 0106d11f14286..7be10e42b9ca6 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/series_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/series_editor.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import { find } from 'lodash4'; +import { find } from 'lodash'; import { reIdSeries } from './lib/re_id_series'; import { Series } from './series'; import { handleAdd, handleDelete, handleChange } from './lib/collection_actions'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/split.js b/src/plugins/vis_type_timeseries/public/application/components/split.js index 759514ad88849..d1c53899db879 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/split.js +++ b/src/plugins/vis_type_timeseries/public/application/components/split.js @@ -20,7 +20,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import uuid from 'uuid'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { SplitByTerms } from './splits/terms'; import { SplitByFilter } from './splits/filter'; import { SplitByFilters } from './splits/filters'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js b/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js index 2a6bba334da63..866c9f5ee2444 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js +++ b/src/plugins/vis_type_timeseries/public/application/components/splits/filter_items.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { collectionActions } from '../lib/collection_actions'; import { AddDeleteButtons } from '../add_delete_buttons'; import { ColorPicker } from '../color_picker'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js b/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js index 826ad262004b2..b71141f44f52d 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js +++ b/src/plugins/vis_type_timeseries/public/application/components/splits/terms.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { get, find } from 'lodash4'; +import { get, find } from 'lodash'; import { GroupBySelect } from './group_by_select'; import { createTextHandler } from '../lib/create_text_handler'; import { createSelectHandler } from '../lib/create_select_handler'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js b/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js index 754ecfbd07b2a..a96890d4d1502 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_editor.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import * as Rx from 'rxjs'; import { share } from 'rxjs/operators'; -import { isEqual, isEmpty, debounce } from 'lodash4'; +import { isEqual, isEmpty, debounce } from 'lodash'; import { VisEditorVisualization } from './vis_editor_visualization'; import { Visualization } from './visualization'; import { VisPicker } from './vis_picker'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js b/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js index bf34257ebb490..0ae1c86ae3117 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_editor_visualization.js @@ -18,7 +18,7 @@ */ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { keyCodes, EuiFlexGroup, EuiFlexItem, EuiButton, EuiText, EuiSwitch } from '@elastic/eui'; import { FormattedMessage, injectI18n } from '@kbn/i18n/react'; import { diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js index 347b9a73e3679..4c029f1c0d5b0 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/gauge/vis.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { visWithSplits } from '../../vis_with_splits'; import { createTickFormatter } from '../../lib/tick_formatter'; -import _, { get, isUndefined, assign, includes } from 'lodash4'; +import _, { get, isUndefined, assign, includes } from 'lodash'; import { Gauge } from '../../../visualizations/views/gauge'; import { getLastValue } from '../../../../../../../plugins/vis_type_timeseries/common/get_last_value'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js index 2f83683eb4876..a4e7738e92318 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/markdown/vis.js @@ -20,7 +20,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import classNames from 'classnames'; import uuid from 'uuid'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { Markdown } from '../../../../../../../plugins/kibana_react/public'; import { ErrorComponent } from '../../error'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js index 5f1306dcd3fe2..f37971e990c96 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/metric/vis.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import { visWithSplits } from '../../vis_with_splits'; import { createTickFormatter } from '../../lib/tick_formatter'; -import _, { get, isUndefined, assign, includes, pick } from 'lodash4'; +import _, { get, isUndefined, assign, includes, pick } from 'lodash'; import { Metric } from '../../../visualizations/views/metric'; import { getLastValue } from '../../../../../../../plugins/vis_type_timeseries/common/get_last_value'; import { isBackgroundInverted } from '../../../lib/set_is_reversed'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js index fb3c562934ca8..d55afeda62e70 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/table/vis.js @@ -17,7 +17,7 @@ * under the License. */ -import _, { isArray, last, get } from 'lodash4'; +import _, { isArray, last, get } from 'lodash'; import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { createTickFormatter } from '../../lib/tick_formatter'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js index cd878fb3b903e..ddfaf3c1428d9 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/timeseries/vis.js @@ -21,7 +21,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import reactCSS from 'reactcss'; -import { startsWith, get, cloneDeep, map } from 'lodash4'; +import { startsWith, get, cloneDeep, map } from 'lodash'; import { htmlIdGenerator } from '@elastic/eui'; import { ScaleType } from '@elastic/charts'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js b/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js index eab3693b7c572..a4fe6f796bc0b 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_types/top_n/vis.js @@ -24,7 +24,7 @@ import { isBackgroundInverted } from '../../../lib/set_is_reversed'; import { replaceVars } from '../../lib/replace_vars'; import PropTypes from 'prop-types'; import React from 'react'; -import { sortBy, first, get, gt, gte, lt, lte } from 'lodash4'; +import { sortBy, first, get, gt, gte, lt, lte } from 'lodash'; const OPERATORS = { gt, gte, lt, lte }; function sortByDirection(data, direction, fn) { diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js b/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js index f474d11101291..8b63d1b5043f5 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js @@ -19,7 +19,7 @@ import React from 'react'; import { getDisplayName } from './lib/get_display_name'; -import { last, findIndex, first } from 'lodash4'; +import { last, findIndex, first } from 'lodash'; import { calculateLabel } from '../../../../../plugins/vis_type_timeseries/common/calculate_label'; export function visWithSplits(WrappedComponent) { diff --git a/src/plugins/vis_type_timeseries/public/application/components/visualization.js b/src/plugins/vis_type_timeseries/public/application/components/visualization.js index 0088fe2c89190..8b8218653f97c 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/visualization.js +++ b/src/plugins/vis_type_timeseries/public/application/components/visualization.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { TimeseriesVisualization } from './vis_types/timeseries/vis'; import { metric } from './vis_types/metric/vis'; diff --git a/src/plugins/vis_type_timeseries/public/application/components/yes_no.js b/src/plugins/vis_type_timeseries/public/application/components/yes_no.js index c75f863a53b4e..7834de0b8fa06 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/yes_no.js +++ b/src/plugins/vis_type_timeseries/public/application/components/yes_no.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { EuiRadio, htmlIdGenerator } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js b/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js index 33c2b11d11941..5d18c0a2f09cd 100644 --- a/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js +++ b/src/plugins/vis_type_timeseries/public/application/lib/check_ui_restrictions.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { RESTRICTIONS_KEYS, DEFAULT_UI_RESTRICTION, diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js b/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js index 0c098efdce558..e6a89ee2e621c 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/lib/get_value_by.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export const getValueBy = (fn, data) => { if (_.isNumber(data)) return data; diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js index 686993d874b18..50a2042425438 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import PropTypes from 'prop-types'; import React, { Component } from 'react'; import classNames from 'classnames'; diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js index 52d609dab585f..7a0ef67ee24f6 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import reactcss from 'reactcss'; import { calculateCoordinates } from '../lib/calculate_coordinates'; import { COLORS } from '../constants/chart'; diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js index fa93fee83cce3..4c286f61720ac 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/metric.js @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import _ from 'lodash4'; +import _ from 'lodash'; import { getLastValue } from '../../../../../../plugins/vis_type_timeseries/common/get_last_value'; import reactcss from 'reactcss'; import { calculateCoordinates } from '../lib/calculate_coordinates'; diff --git a/src/plugins/vis_type_timeseries/public/metrics_fn.ts b/src/plugins/vis_type_timeseries/public/metrics_fn.ts index 539083519327b..b573225feaab1 100644 --- a/src/plugins/vis_type_timeseries/public/metrics_fn.ts +++ b/src/plugins/vis_type_timeseries/public/metrics_fn.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, KibanaContext, Render } from '../../expressions/public'; diff --git a/src/plugins/vis_type_timeseries/server/lib/get_fields.ts b/src/plugins/vis_type_timeseries/server/lib/get_fields.ts index 516ccdb72a0d9..0f0d99bff6f1c 100644 --- a/src/plugins/vis_type_timeseries/server/lib/get_fields.ts +++ b/src/plugins/vis_type_timeseries/server/lib/get_fields.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { uniqBy } from 'lodash4'; +import { uniqBy } from 'lodash'; import { first, map } from 'rxjs/operators'; import { KibanaRequest, RequestHandlerContext } from 'kibana/server'; diff --git a/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts b/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts index f947b65c0caf1..f697e754a2e00 100644 --- a/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts +++ b/src/plugins/vis_type_timeseries/server/lib/get_vis_data.ts @@ -18,7 +18,7 @@ */ import { FakeRequest, RequestHandlerContext } from 'kibana/server'; -import _ from 'lodash4'; +import _ from 'lodash'; import { first, map } from 'rxjs/operators'; import { getPanelData } from './vis_data/get_panel_data'; import { Framework } from '../index'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js index c64486a5d182c..e4bda194299df 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_interval_and_timefield.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; const DEFAULT_TIME_FIELD = '@timestamp'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js index e3c85a2d3d928..1d1c245907959 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/get_table_data.js @@ -18,7 +18,7 @@ */ import { buildRequestBody } from './table/build_request_body'; import { handleErrorResponse } from './handle_error_response'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { processBucket } from './table/process_bucket'; import { getEsQueryConfig } from './helpers/get_es_query_uisettings'; import { getIndexPatternObject } from './helpers/get_index_pattern'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js index 2ad5b0b9c6187..0e4d2ce2a926c 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/bucket_transform.js @@ -19,7 +19,7 @@ import { getBucketsPath } from './get_buckets_path'; import { parseInterval } from './parse_interval'; -import { set, isEmpty } from 'lodash4'; +import { set, isEmpty } from 'lodash'; import { i18n } from '@kbn/i18n'; import { MODEL_SCRIPTS } from './moving_fn_scripts'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js index 1f17241a3a069..c9363f32b50aa 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, includes, max, min, sum, noop } from 'lodash4'; +import { get, includes, max, min, sum, noop } from 'lodash'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; import { EXTENDED_STATS_TYPES, METRIC_TYPES } from '../../../../common/metric_types'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js index 3afa2f14405ac..6855f50f956f2 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.js @@ -17,7 +17,7 @@ * under the License. */ -import { startsWith } from 'lodash4'; +import { startsWith } from 'lodash'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; import { METRIC_TYPES } from '../../../../common/metric_types'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js index 065fc1f37b13d..f37f0da4bbe93 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_index_pattern.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; export async function getIndexPatternObject(req, indexPatternString) { let defaultIndex; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js index 5875b680304f6..113fca37de111 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_last_metric.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function getLastMetric(series) { return _.last(series.metrics.filter((s) => s.type !== 'series_agg')); diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js index 21c569a51c9d2..4308c7e78485f 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_sibling_agg_value.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export const getSiblingAggValue = (row, metric) => { let key = metric.type.replace(/_bucket$/, ''); diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js index d35a3542dba66..54139a7c27e3f 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_splits.js @@ -19,7 +19,7 @@ import Color from 'color'; import { calculateLabel } from '../../../../common/calculate_label'; -import _ from 'lodash4'; +import _ from 'lodash'; import { getLastMetric } from './get_last_metric'; import { getSplitColors } from './get_split_colors'; import { formatKey } from './format_key'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js index 3f8db4da62b43..00cef3b0eaced 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/parse_interval.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import moment from 'moment'; import dateMath from '@elastic/datemath'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js index 4ab4be73d6a30..533d4ef8d30cc 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/timestamp.js @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash4'; +import { last } from 'lodash'; /** * @param {Array} seriesGroup diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js index dad0ae308e1c8..be8f1741627ba 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/unit_to_seconds.js @@ -17,7 +17,7 @@ * under the License. */ import { INTERVAL_STRING_RE } from '../../../../common/interval_regexp'; -import { sortBy, isNumber } from 'lodash4'; +import { sortBy, isNumber } from 'lodash'; export const ASCENDING_UNIT_ORDER = ['ms', 's', 'm', 'h', 'd', 'w', 'M', 'y']; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js index 64dfa953892e5..d07d343d1b1eb 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/series/normalize_query.js @@ -17,7 +17,7 @@ * under the License. */ import { overwrite } from '../../helpers'; -import _ from 'lodash4'; +import _ from 'lodash'; const isEmptyFilter = (filter = {}) => Boolean(filter.match_all) && _.isEmpty(filter.match_all); const hasSiblingPipelineAggregation = (aggs = {}) => Object.keys(aggs).length > 1; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js index 0efa36255dac0..ba2d64dad65fc 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/calculate_agg_root.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; export function calculateAggRoot(doc, column) { let aggRoot = `aggs.pivot.aggs.${column.id}.aggs`; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js index 45b2a06fd0d43..9fdb96fa31481 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/normalize_query.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { overwrite } from '../../helpers'; const isEmptyFilter = (filter = {}) => Boolean(filter.match_all) && _.isEmpty(filter.match_all); const hasSiblingPipelineAggregation = (aggs = {}) => Object.keys(aggs).length > 1; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js index 77ad9fe21687d..ad085f25cf451 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/request_processors/table/pivot.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, last } from 'lodash4'; +import { get, last } from 'lodash'; import { overwrite } from '../../helpers'; import { basicAggs } from '../../../../../common/basic_aggs'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js index 75d9619dc990f..fc7acc7fc35c0 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/buckets.js @@ -17,7 +17,7 @@ * under the License. */ -import { get, isEmpty } from 'lodash4'; +import { get, isEmpty } from 'lodash'; export function getAnnotationBuckets(resp, annotation) { return get(resp, `aggregations.${annotation.id}.buckets`, []) diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js index f70dc8b22b5a9..dab7e94a8194e 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/annotations/index.js @@ -17,7 +17,7 @@ * under the License. */ -import { flow } from 'lodash4'; +import { flow } from 'lodash'; import { filterAnnotations } from './filter'; import { getAnnotationBuckets } from './buckets'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js index a2c43acdb51b7..63b77f8ad60f4 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/_series_agg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; function mean(values) { return _.sum(values) / values.length; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js index 4d36ff9c7100d..9b3d8c16a1121 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/drop_last_bucket.js @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { isLastValueTimerangeMode } from '../../helpers/get_timerange_mode'; export function dropLastBucket(resp, panel, series) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js index 061be85e4aa4e..f8752ce8fa3a8 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/math.js @@ -18,7 +18,7 @@ */ const percentileValueMatch = /\[([0-9\.]+)\]$/; -import { startsWith, flatten, values, first, last } from 'lodash4'; +import { startsWith, flatten, values, first, last } from 'lodash'; import { getDefaultDecoration } from '../../helpers/get_default_decoration'; import { getSiblingAggValue } from '../../helpers/get_sibling_agg_value'; import { getSplits } from '../../helpers/get_splits'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js index 717ef6fad7982..d2b0ce9226bb9 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/series_agg.js @@ -18,7 +18,7 @@ */ import { SeriesAgg } from './_series_agg'; -import _ from 'lodash4'; +import _ from 'lodash'; import { getDefaultDecoration } from '../../helpers/get_default_decoration'; import { calculateLabel } from '../../../../../common/calculate_label'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js index f2d491bd4f29f..14de6aa18f872 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/time_shift.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import moment from 'moment'; export function timeShift(resp, panel, series) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js index e8e3e07328115..511349b89deb1 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/_series_agg.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; function mean(values) { return _.sum(values) / values.length; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js index a0e946bdc37de..788bb6f14a0c7 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { last } from 'lodash4'; +import { last } from 'lodash'; import { getSplits } from '../../helpers/get_splits'; import { getLastMetric } from '../../helpers/get_last_metric'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js index 2aa436ba2ac05..c280538c7ce5f 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { last } from 'lodash4'; +import { last } from 'lodash'; import { getSplits } from '../../helpers/get_splits'; import { getLastMetric } from '../../helpers/get_last_metric'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js index 19909e0ea596d..343198bc22a6e 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/series_agg.js @@ -18,7 +18,7 @@ */ import { SeriesAgg } from './_series_agg'; -import _ from 'lodash4'; +import _ from 'lodash'; import { calculateLabel } from '../../../../../common/calculate_label'; export function seriesAgg(resp, panel, series) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js index 5d7dd2fdc7e6a..eef7143990e98 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/series/handle_response_body.js @@ -19,7 +19,7 @@ import { buildProcessorFunction } from '../build_processor_function'; import { processors } from '../response_processors/series'; -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; export function handleResponseBody(panel) { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js index 12085368f9461..0f2a7e153bde0 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/table/process_bucket.js @@ -21,7 +21,7 @@ import { buildProcessorFunction } from '../build_processor_function'; import { processors } from '../response_processors/table'; import { getLastValue } from '../../../../common/get_last_value'; import regression from 'regression'; -import { first, get } from 'lodash4'; +import { first, get } from 'lodash'; import { overwrite } from '../helpers'; import { getActiveSeries } from '../helpers/get_active_series'; diff --git a/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts b/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts index 143a8472eaa4d..a9b542af68c9d 100644 --- a/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts +++ b/src/plugins/vis_type_timeseries/server/saved_objects/tsvb_telemetry.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flow } from 'lodash4'; +import { flow } from 'lodash'; import { SavedObjectMigrationFn, SavedObjectsType } from 'kibana/server'; const resetCount: SavedObjectMigrationFn = (doc) => ({ diff --git a/src/plugins/vis_type_vega/public/data_model/es_query_parser.js b/src/plugins/vis_type_vega/public/data_model/es_query_parser.js index 095adeeec9350..f7772ff888a61 100644 --- a/src/plugins/vis_type_vega/public/data_model/es_query_parser.js +++ b/src/plugins/vis_type_vega/public/data_model/es_query_parser.js @@ -19,7 +19,7 @@ import moment from 'moment'; import { i18n } from '@kbn/i18n'; -import { isPlainObject, cloneDeep } from 'lodash4'; +import { isPlainObject, cloneDeep } from 'lodash'; const TIMEFILTER = '%timefilter%'; const AUTOINTERVAL = '%autointerval%'; diff --git a/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js b/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js index 5bc6f9cc827bf..b04e221fc354e 100644 --- a/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js +++ b/src/plugins/vis_type_vega/public/data_model/es_query_parser.test.js @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import moment from 'moment'; import { EsQueryParser } from './es_query_parser'; diff --git a/src/plugins/vis_type_vega/public/data_model/vega_parser.js b/src/plugins/vis_type_vega/public/data_model/vega_parser.js index 8d67f8c204fd1..cbfe2a6ede4f2 100644 --- a/src/plugins/vis_type_vega/public/data_model/vega_parser.js +++ b/src/plugins/vis_type_vega/public/data_model/vega_parser.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import * as vega from 'vega-lib'; import * as vegaLite from 'vega-lite'; import schemaParser from 'vega-schema-url-parser'; diff --git a/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js b/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js index 340341e5984a5..a40ef31260b6f 100644 --- a/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js +++ b/src/plugins/vis_type_vega/public/data_model/vega_parser.test.js @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { VegaParser } from './vega_parser'; import { bypassExternalUrlCheck } from '../vega_view/vega_base_view'; jest.mock('../services'); diff --git a/src/plugins/vis_type_vega/public/vega_fn.ts b/src/plugins/vis_type_vega/public/vega_fn.ts index aec0369214737..9823eb414bd5f 100644 --- a/src/plugins/vis_type_vega/public/vega_fn.ts +++ b/src/plugins/vis_type_vega/public/vega_fn.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, KibanaContext, Render } from '../../expressions/public'; import { VegaVisualizationDependencies } from './plugin'; diff --git a/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js b/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js index bb4c68fb5f464..01386fd91abc5 100644 --- a/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js +++ b/src/plugins/vis_type_vega/public/vega_view/vega_tooltip.js @@ -19,7 +19,7 @@ import { calculatePopoverPosition } from '@elastic/eui'; import { formatValue as createTooltipContent } from 'vega-tooltip'; -import _ from 'lodash4'; +import _ from 'lodash'; // Some of this code was adapted from https://github.com/vega/vega-tooltip diff --git a/src/plugins/visualizations/public/components/visualization.tsx b/src/plugins/visualizations/public/components/visualization.tsx index b88597c084a9c..c17e088d7635b 100644 --- a/src/plugins/visualizations/public/components/visualization.tsx +++ b/src/plugins/visualizations/public/components/visualization.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import React from 'react'; import { PersistedState } from '../../../../plugins/visualizations/public'; import { memoizeLast } from '../legacy/memoize'; diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts b/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts index 4a3832d0b9fa0..26fdd665192a6 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { get } from 'lodash4'; +import _, { get } from 'lodash'; import { Subscription } from 'rxjs'; import * as Rx from 'rxjs'; import { VISUALIZE_EMBEDDABLE_TYPE } from './constants'; diff --git a/src/plugins/visualizations/public/expressions/vis.ts b/src/plugins/visualizations/public/expressions/vis.ts index d967e40e97fd4..eafa112156716 100644 --- a/src/plugins/visualizations/public/expressions/vis.ts +++ b/src/plugins/visualizations/public/expressions/vis.ts @@ -28,7 +28,7 @@ */ import { EventEmitter } from 'events'; -import _ from 'lodash4'; +import _ from 'lodash'; import { VisParams, PersistedState } from '../../../../plugins/visualizations/public'; import { getTypes } from '../services'; diff --git a/src/plugins/visualizations/public/expressions/visualization_function.ts b/src/plugins/visualizations/public/expressions/visualization_function.ts index c29815517ee98..222479158934b 100644 --- a/src/plugins/visualizations/public/expressions/visualization_function.ts +++ b/src/plugins/visualizations/public/expressions/visualization_function.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { VisResponseValue, PersistedState } from '../../../../plugins/visualizations/public'; import { ExpressionFunctionDefinition, Render } from '../../../../plugins/expressions/public'; diff --git a/src/plugins/visualizations/public/legacy/build_pipeline.ts b/src/plugins/visualizations/public/legacy/build_pipeline.ts index ab51f5fca4e49..5d74cb3d3b1e5 100644 --- a/src/plugins/visualizations/public/legacy/build_pipeline.ts +++ b/src/plugins/visualizations/public/legacy/build_pipeline.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash4'; +import { get } from 'lodash'; import moment from 'moment'; import { SerializedFieldFormat } from '../../../../plugins/expressions/public'; import { diff --git a/src/plugins/visualizations/public/legacy/vis_update_state.js b/src/plugins/visualizations/public/legacy/vis_update_state.js index 359285f885764..edaf388e21060 100644 --- a/src/plugins/visualizations/public/legacy/vis_update_state.js +++ b/src/plugins/visualizations/public/legacy/vis_update_state.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; /** * Will figure out if an heatmap state was saved before the auto coloring diff --git a/src/plugins/visualizations/public/legacy/vis_update_state.test.js b/src/plugins/visualizations/public/legacy/vis_update_state.test.js index 9dc934e4f524b..7ddf0cc6e33e1 100644 --- a/src/plugins/visualizations/public/legacy/vis_update_state.test.js +++ b/src/plugins/visualizations/public/legacy/vis_update_state.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { updateOldState } from './vis_update_state'; // eslint-disable-next-line camelcase diff --git a/src/plugins/visualizations/public/persisted_state/persisted_state.ts b/src/plugins/visualizations/public/persisted_state/persisted_state.ts index eb77d93293cd7..c926c456da219 100644 --- a/src/plugins/visualizations/public/persisted_state/persisted_state.ts +++ b/src/plugins/visualizations/public/persisted_state/persisted_state.ts @@ -29,7 +29,7 @@ import { merge, mergeWith, toPath, -} from 'lodash4'; +} from 'lodash'; function prepSetParams(key: PersistedStateKey, value: any, path: PersistedStatePath) { // key must be the value, set the entire state using it diff --git a/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts b/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts index d661c3e750017..60945b912e1b3 100644 --- a/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts +++ b/src/plugins/visualizations/public/saved_visualizations/find_list_items.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { SavedObjectAttributes, SavedObjectsClientContract } from '../../../../core/public'; import { SavedObjectLoader } from '../../../../plugins/saved_objects/public'; import { VisTypeAlias } from '../vis_types'; diff --git a/src/plugins/visualizations/public/vis.ts b/src/plugins/visualizations/public/vis.ts index b87f2dc060bb9..aaab0566af65e 100644 --- a/src/plugins/visualizations/public/vis.ts +++ b/src/plugins/visualizations/public/vis.ts @@ -27,7 +27,7 @@ * Not to be confused with vislib/vis.js. */ -import { isFunction, defaults, cloneDeep } from 'lodash4'; +import { isFunction, defaults, cloneDeep } from 'lodash'; import { Assign } from '@kbn/utility-types'; import { PersistedState } from './persisted_state'; import { getTypes, getAggs, getSearch, getSavedSearchLoader } from './services'; diff --git a/src/plugins/visualizations/public/vis_types/base_vis_type.ts b/src/plugins/visualizations/public/vis_types/base_vis_type.ts index aac0740369ef5..2464bb72d2695 100644 --- a/src/plugins/visualizations/public/vis_types/base_vis_type.ts +++ b/src/plugins/visualizations/public/vis_types/base_vis_type.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import { VisualizationControllerConstructor } from '../types'; export interface BaseVisTypeOptions { diff --git a/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts b/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts index a47d1ff991356..134106bb3d42a 100644 --- a/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts +++ b/src/plugins/visualizations/public/vis_types/react_vis_type.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeep } from 'lodash4'; +import { cloneDeep } from 'lodash'; import { ReactVisType } from './react_vis_type'; describe('React Vis Type', () => { diff --git a/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx b/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx index 4a4005718c0fd..dc6ac4919a4c4 100644 --- a/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx +++ b/src/plugins/visualizations/public/wizard/type_selection/type_selection.tsx @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import { orderBy } from 'lodash4'; +import { orderBy } from 'lodash'; import React, { ChangeEvent } from 'react'; import { diff --git a/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts b/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts index 74d8cb1a40d55..74881b9d99ae8 100644 --- a/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts +++ b/src/plugins/visualizations/server/saved_objects/visualization_migrations.ts @@ -18,7 +18,7 @@ */ import { SavedObjectMigrationFn } from 'kibana/server'; -import { cloneDeep, get, omit, has, flow } from 'lodash4'; +import { cloneDeep, get, omit, has, flow } from 'lodash'; import { DEFAULT_QUERY_LANGUAGE } from '../../../data/common'; const migrateIndexPattern: SavedObjectMigrationFn = (doc) => { diff --git a/src/plugins/visualize/public/application/editor/editor.js b/src/plugins/visualize/public/application/editor/editor.js index 30a46010db9e7..0e341ebf46e3a 100644 --- a/src/plugins/visualize/public/application/editor/editor.js +++ b/src/plugins/visualize/public/application/editor/editor.js @@ -18,7 +18,7 @@ */ import angular from 'angular'; -import _ from 'lodash4'; +import _ from 'lodash'; import { Subscription } from 'rxjs'; import { map } from 'rxjs/operators'; import { i18n } from '@kbn/i18n'; diff --git a/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts b/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts index 7d721390105e8..d1a8b55ac31d0 100644 --- a/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts +++ b/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, omit } from 'lodash4'; +import { get, omit } from 'lodash'; import { VisualizeAppState } from '../../types'; /** diff --git a/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts b/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts index c96b5e73c5a12..4dc4f9bed1b76 100644 --- a/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts +++ b/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isFunction, omitBy, union } from 'lodash4'; +import { isFunction, omitBy, union } from 'lodash'; import { migrateAppState } from './migrate_app_state'; import { diff --git a/src/plugins/visualize/public/application/legacy_app.js b/src/plugins/visualize/public/application/legacy_app.js index 624f639567bb6..42e8b07ee6310 100644 --- a/src/plugins/visualize/public/application/legacy_app.js +++ b/src/plugins/visualize/public/application/legacy_app.js @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash4'; +import { find } from 'lodash'; import { i18n } from '@kbn/i18n'; import { createHashHistory } from 'history'; diff --git a/src/test_utils/expect_deep_equal.js b/src/test_utils/expect_deep_equal.js index ca076483ea1e9..e3e24cbdf5dc9 100644 --- a/src/test_utils/expect_deep_equal.js +++ b/src/test_utils/expect_deep_equal.js @@ -17,7 +17,7 @@ * under the License. */ -import { isEqual } from 'lodash4'; +import { isEqual } from 'lodash'; import expect from '@kbn/expect'; // expect.js's `eql` method provides nice error messages but sometimes misses things diff --git a/src/test_utils/get_url.js b/src/test_utils/get_url.js index e4e0b37dade48..182cb8e6e118d 100644 --- a/src/test_utils/get_url.js +++ b/src/test_utils/get_url.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import url from 'url'; /** diff --git a/src/test_utils/kbn_server.ts b/src/test_utils/kbn_server.ts index 23eadf0adcc2c..6a20261421b5b 100644 --- a/src/test_utils/kbn_server.ts +++ b/src/test_utils/kbn_server.ts @@ -28,7 +28,7 @@ import { setupUsers, // @ts-ignore: implicit any for JS file } from '@kbn/test'; -import { defaultsDeep, get } from 'lodash4'; +import { defaultsDeep, get } from 'lodash'; import { resolve } from 'path'; import { BehaviorSubject } from 'rxjs'; import supertest from 'supertest'; diff --git a/src/test_utils/public/simulate_keys.js b/src/test_utils/public/simulate_keys.js index 158036e1a57c9..56596508a2181 100644 --- a/src/test_utils/public/simulate_keys.js +++ b/src/test_utils/public/simulate_keys.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash4'; +import _ from 'lodash'; import Bluebird from 'bluebird'; import { keyMap } from 'ui/directives/key_map'; const reverseKeyMap = _.mapValues(_.invert(keyMap), _.ary(_.parseInt, 1)); diff --git a/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js b/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js index b360b7c153ff7..45a09be6c2deb 100644 --- a/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js +++ b/test/api_integration/apis/index_patterns/fields_for_wildcard_route/response.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import { sortBy } from 'lodash4'; +import { sortBy } from 'lodash'; export default function ({ getService }) { const esArchiver = getService('esArchiver'); diff --git a/test/api_integration/apis/kql_telemetry/kql_telemetry.js b/test/api_integration/apis/kql_telemetry/kql_telemetry.js index 151aff1e4ce1e..a696cd148485f 100644 --- a/test/api_integration/apis/kql_telemetry/kql_telemetry.js +++ b/test/api_integration/apis/kql_telemetry/kql_telemetry.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; import Bluebird from 'bluebird'; -import { get } from 'lodash4'; +import { get } from 'lodash'; export default function ({ getService }) { const supertest = getService('supertest'); diff --git a/test/api_integration/apis/saved_objects/bulk_update.js b/test/api_integration/apis/saved_objects/bulk_update.js index fe3dbbef49b1e..e3f994ff224e8 100644 --- a/test/api_integration/apis/saved_objects/bulk_update.js +++ b/test/api_integration/apis/saved_objects/bulk_update.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import _ from 'lodash4'; +import _ from 'lodash'; export default function ({ getService }) { const supertest = getService('supertest'); diff --git a/test/api_integration/apis/saved_objects/migrations.js b/test/api_integration/apis/saved_objects/migrations.js index 0add2423f1a54..9ea3cf087be90 100644 --- a/test/api_integration/apis/saved_objects/migrations.js +++ b/test/api_integration/apis/saved_objects/migrations.js @@ -21,7 +21,7 @@ * Smokescreen tests for core migration logic */ -import _ from 'lodash4'; +import _ from 'lodash'; import { assert } from 'chai'; import { DocumentMigrator, diff --git a/test/api_integration/apis/telemetry/telemetry_local.js b/test/api_integration/apis/telemetry/telemetry_local.js index 9a2643ea0f0c6..2875ff09a9a8d 100644 --- a/test/api_integration/apis/telemetry/telemetry_local.js +++ b/test/api_integration/apis/telemetry/telemetry_local.js @@ -18,7 +18,7 @@ */ import expect from '@kbn/expect'; -import _ from 'lodash4'; +import _ from 'lodash'; /* * Create a single-level array with strings for all the paths to values in the diff --git a/test/functional/apps/management/_import_objects.js b/test/functional/apps/management/_import_objects.js index 20229402140a5..2c4548a7461c3 100644 --- a/test/functional/apps/management/_import_objects.js +++ b/test/functional/apps/management/_import_objects.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; import path from 'path'; -import { keyBy } from 'lodash4'; +import { keyBy } from 'lodash'; export default function ({ getService, getPageObjects }) { const kibanaServer = getService('kibanaServer'); diff --git a/test/functional/apps/visualize/_chart_types.ts b/test/functional/apps/visualize/_chart_types.ts index b84fd8ccf31a5..8aa8b9c32e967 100644 --- a/test/functional/apps/visualize/_chart_types.ts +++ b/test/functional/apps/visualize/_chart_types.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash4'; +import _ from 'lodash'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index 490e34abad563..fe5694efc35da 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -19,7 +19,7 @@ import { delay } from 'bluebird'; import expect from '@kbn/expect'; -import { get } from 'lodash4'; +import { get } from 'lodash'; // @ts-ignore import fetch from 'node-fetch'; import { FtrProviderContext } from '../ftr_provider_context'; diff --git a/test/functional/services/common/browser.ts b/test/functional/services/common/browser.ts index eaec69585589f..2ce9a1d8a0116 100644 --- a/test/functional/services/common/browser.ts +++ b/test/functional/services/common/browser.ts @@ -17,7 +17,7 @@ * under the License. */ -import { cloneDeepWith } from 'lodash4'; +import { cloneDeepWith } from 'lodash'; import { Key, Origin } from 'selenium-webdriver'; // @ts-ignore internal modules are not typed import { LegacyActionSequence } from 'selenium-webdriver/lib/actions'; diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx index 414816e62f2fb..88a7e9252d6dd 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx @@ -23,8 +23,8 @@ jest.mock('@elastic/eui', () => { }; }); -jest.mock('lodash4', () => { - const original = jest.requireActual('lodash4'); +jest.mock('lodash', () => { + const original = jest.requireActual('lodash'); return { ...original, diff --git a/yarn.lock b/yarn.lock index 76548ecd3eeb1..5fb71266fec9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5198,11 +5198,6 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== -"@types/lodash4@npm:@types/lodash@^4.14.155", "@types/lodash@^4.14.155": - version "4.14.156" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" - integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== - "@types/lodash@4.14.149": version "4.14.149" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" @@ -5213,6 +5208,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== +"@types/lodash@^4.14.155": + version "4.14.156" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" + integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== + "@types/log-symbols@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/log-symbols/-/log-symbols-2.0.0.tgz#7919e2ec3c8d13879bfdcab310dd7a3f7fc9466d" @@ -20549,16 +20549,16 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== -"lodash4@npm:lodash@^4.17.15", lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - lodash@4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + lodash@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" From e0bdfe81507250b4244aa9dc94938cb7126e60b2 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 25 Jun 2020 03:14:25 +0100 Subject: [PATCH 05/37] chore(NA): fix last failing types in the repo --- .../data/public/ui/search_bar/create_search_bar.tsx | 1 + .../app/ErrorGroupDetails/Distribution/index.tsx | 2 +- .../components/shared/charts/ErrorRateChart/index.tsx | 2 +- .../canvas/canvas_plugin_src/uis/arguments/palette.tsx | 2 +- .../public/alerting/inventory/components/expression.tsx | 2 +- .../alerting/metric_threshold/components/expression.tsx | 2 +- .../inventory_metric_threshold/evaluate_condition.ts | 2 +- .../inventory_metric_threshold_executor.ts | 2 +- .../preview_inventory_metric_threshold_alert.ts | 2 +- .../metric_threshold/metric_threshold_executor.ts | 4 +++- .../metric_threshold/preview_metric_threshold_alert.ts | 9 +++++---- 11 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx index 81e84e3198072..d45588d8fd4f9 100644 --- a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx @@ -17,6 +17,7 @@ * under the License. */ +import _ from 'lodash'; import React, { useState, useEffect, useRef } from 'react'; import { CoreStart } from 'src/core/public'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/Distribution/index.tsx b/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/Distribution/index.tsx index d71d5f2cb480d..3cd04ee032e56 100644 --- a/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/Distribution/index.tsx +++ b/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/Distribution/index.tsx @@ -10,7 +10,7 @@ import numeral from '@elastic/numeral'; import { i18n } from '@kbn/i18n'; import d3 from 'd3'; import { scaleUtc } from 'd3-scale'; -import mean from 'lodash.mean'; +import { mean } from 'lodash'; import React from 'react'; import { asRelativeDateTimeRange } from '../../../../utils/formatters'; import { getTimezoneOffsetInMs } from '../../../shared/charts/CustomPlot/getTimezoneOffsetInMs'; diff --git a/x-pack/plugins/apm/public/components/shared/charts/ErrorRateChart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/ErrorRateChart/index.tsx index 7aafa9e1fdcec..de60441f4faa0 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/ErrorRateChart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/ErrorRateChart/index.tsx @@ -6,7 +6,7 @@ import { EuiTitle } from '@elastic/eui'; import theme from '@elastic/eui/dist/eui_theme_light.json'; import { i18n } from '@kbn/i18n'; -import mean from 'lodash.mean'; +import { mean } from 'lodash'; import React, { useCallback } from 'react'; import { useChartsSync } from '../../../../hooks/useChartsSync'; import { useFetcher } from '../../../../hooks/useFetcher'; diff --git a/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx b/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx index a33d000a1f656..977015c8fbc5d 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx +++ b/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx @@ -40,7 +40,7 @@ export const PaletteArgInput: FC = ({ onValueChange, argId, argValue, ren return astObj; }) as string[]; - const gradient = get(chain[0].arguments.gradient, '[0]'); + const gradient = get(chain[0].arguments.gradient, '[0]'); const palette = identifyPalette({ colors, gradient }); if (palette) { diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx index ef73d6ff96e41..179698cda3afb 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx @@ -270,7 +270,7 @@ export const Expressions: React.FC = (props) => { sourceId: alertParams.sourceId, lookback: previewLookbackInterval as Unit, alertInterval, - }, + } as any, }); setPreviewResult(result); } catch (e) { diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx index 3c3351f4ddd76..93634c50b09ac 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/expression.tsx @@ -264,7 +264,7 @@ export const Expressions: React.FC = (props) => { sourceId: alertParams.sourceId, lookback: previewLookbackInterval as Unit, alertInterval, - }, + } as any, }); setPreviewResult(result); } catch (e) { diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts index c55f50e229b69..84cd4812ed873 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/evaluate_condition.ts @@ -98,7 +98,7 @@ const getData = async ( const { nodes } = await snapshot.getNodes(esClient, options); return nodes.reduce((acc, n) => { - const nodePathItem = last(n.path); + const nodePathItem = last(n.path) as any; if (n.metric?.value && n.metric?.timeseries) { const { timeseries } = n.metric; const values = timeseries.rows.map((row) => row.metric_0) as Array; diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts index 99e653b2d6789..dba6620e3ec61 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.ts @@ -37,7 +37,7 @@ export const createInventoryMetricThresholdExecutor = ( ) ); - const inventoryItems = Object.keys(first(results)); + const inventoryItems = Object.keys(first(results) as any); for (const item of inventoryItems) { const alertInstance = services.alertInstanceFactory(`${alertId}-${item}`); // AND logic; all criteria must be across the threshold diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/preview_inventory_metric_threshold_alert.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/preview_inventory_metric_threshold_alert.ts index 6e8c624e61c49..c50c139c0ed4e 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/preview_inventory_metric_threshold_alert.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/preview_inventory_metric_threshold_alert.ts @@ -53,7 +53,7 @@ export const previewInventoryMetricThresholdAlert = async ({ ) ); - const inventoryItems = Object.keys(first(results)); + const inventoryItems = Object.keys(first(results) as any); const previewResults = inventoryItems.map((item) => { const isNoData = results.some((result) => result[item].isNoData); if (isNoData) { diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts index ab58a0dd28193..30cd3df6cede7 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.ts @@ -58,7 +58,9 @@ export const createMetricThresholdExecutor = (libs: InfraBackendLibs, alertId: s let reason; if (nextState === AlertStates.ALERT) { - reason = alertResults.map((result) => buildFiredAlertReason(result[group])).join('\n'); + reason = alertResults + .map((result) => buildFiredAlertReason(result[group] as any)) + .join('\n'); } if (alertOnNoData) { if (nextState === AlertStates.NO_DATA) { diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/preview_metric_threshold_alert.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/preview_metric_threshold_alert.ts index 52637d52175a4..0afb01a02f503 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/preview_metric_threshold_alert.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/preview_metric_threshold_alert.ts @@ -70,7 +70,7 @@ export const previewMetricThresholdAlert: ( // Get a date histogram using the bucket interval and the lookback interval try { const alertResults = await evaluateAlert(callCluster, params, config, timeframe); - const groups = Object.keys(first(alertResults)); + const groups = Object.keys(first(alertResults) as any); // Now determine how to interpolate this histogram based on the alert interval const alertIntervalInSeconds = getIntervalInSeconds(alertInterval); @@ -97,7 +97,7 @@ export const previewMetricThresholdAlert: ( // buckets would have fired the alert. If the alert interval and bucket interval are the same, // this will be a 1:1 evaluation of the alert results. If these are different, the interpolation // will skip some buckets or read some buckets more than once, depending on the differential - const numberOfResultBuckets = first(alertResults)[group].shouldFire.length; + const numberOfResultBuckets = (first(alertResults) as any)[group].shouldFire.length; const numberOfExecutionBuckets = Math.floor( numberOfResultBuckets / alertResultsPerExecution ); @@ -125,7 +125,8 @@ export const previewMetricThresholdAlert: ( ? await evaluateAlert(callCluster, params, config) : []; const numberOfGroups = - precalculatedNumberOfGroups ?? Math.max(Object.keys(first(currentAlertResults)).length, 1); + precalculatedNumberOfGroups ?? + Math.max(Object.keys(first(currentAlertResults) as any).length, 1); const estimatedTotalBuckets = (lookbackIntervalInSeconds / bucketIntervalInSeconds) * numberOfGroups; // The minimum number of slices is 2. In case we underestimate the total number of buckets @@ -163,7 +164,7 @@ export const previewMetricThresholdAlert: ( return a + b; }) ); - return zippedResult; + return zippedResult as any; } else throw e; } }; From 7ebf38191ea3c868ebad3eaee4b87bc29ecfdf83 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 25 Jun 2020 03:57:22 +0100 Subject: [PATCH 06/37] chore(NA): fix public api --- .../kibana-plugin-plugins-data-public.fieldformat.tojson.md | 4 ++-- src/plugins/data/public/public.api.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md index 5fa7d4841537b..6ecdedb6413ff 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md @@ -13,13 +13,13 @@ Serialize this format to a simple POJO, with only the params that are not defaul ```typescript toJSON(): { id: unknown; - params: _.Dictionary | undefined; + params: import("lodash3").Dictionary | undefined; }; ``` Returns: `{ id: unknown; - params: _.Dictionary | undefined; + params: import("lodash3").Dictionary | undefined; }` diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md index 31dc5b51a06f5..6c98b3ddc8225 100644 --- a/src/plugins/data/public/public.api.md +++ b/src/plugins/data/public/public.api.md @@ -5,7 +5,7 @@ ```ts import { $Values } from '@kbn/utility-types'; -import _ from 'lodash'; +import _ from 'lodash3'; import { Action } from 'history'; import { ApplicationStart } from 'kibana/public'; import { Assign } from '@kbn/utility-types'; @@ -586,7 +586,7 @@ export abstract class FieldFormat { static title: string; toJSON(): { id: unknown; - params: _.Dictionary | undefined; + params: import("lodash3").Dictionary | undefined; }; type: any; } From 2d9266875d4b8ac620333a99d132fe0ac658e5c2 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 25 Jun 2020 14:01:54 +0100 Subject: [PATCH 07/37] chore(NA): fix types for agg_row.tsx --- .../public/application/components/aggs/agg_row.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.tsx b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.tsx index 0363ba486a775..fcb22a9e79707 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.tsx +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_row.tsx @@ -39,7 +39,7 @@ interface AggRowProps { export function AggRow(props: AggRowProps) { let iconType = 'eyeClosed'; let iconColor = 'subdued'; - const lastSibling = last(props.siblings); + const lastSibling = last(props.siblings) as MetricsItemsSchema; if (lastSibling.id === props.model.id) { iconType = 'eye'; From f02be1db511e09f7068b0f3e53cc14d1839365c9 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 25 Jun 2020 16:16:29 +0100 Subject: [PATCH 08/37] chore(NA): fix increment of optimizer modules in the rollup plugin --- .../rollup/public/crud_app/sections/job_create/job_create.js | 5 +---- .../crud_app/sections/job_create/steps/step_metrics.js | 2 +- .../crud_app/sections/job_create/steps_config/index.js | 4 +--- .../public/test/client_integration/job_create_clone.test.js | 5 ++++- .../client_integration/job_create_date_histogram.test.js | 5 ++++- .../test/client_integration/job_create_histogram.test.js | 5 ++++- .../test/client_integration/job_create_logistics.test.js | 5 ++++- .../test/client_integration/job_create_metrics.test.js | 5 ++++- .../public/test/client_integration/job_create_review.test.js | 5 ++++- .../public/test/client_integration/job_create_terms.test.js | 5 ++++- .../public/test/client_integration/job_list_clone.test.js | 5 ++++- 11 files changed, 35 insertions(+), 16 deletions(-) diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js index c3f71dfdf7fd6..8c326c3f8a788 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js @@ -6,10 +6,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import mapValues from 'lodash/mapValues'; -import cloneDeep from 'lodash/cloneDeep'; -import debounce from 'lodash/debounce'; -import first from 'lodash/first'; +import { cloneDeep, debounce, first, mapValues } from 'lodash'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js index 56af1617a36a1..df9b63bc5fa3d 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps/step_metrics.js @@ -8,7 +8,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import get from 'lodash/get'; +import { get } from 'lodash'; import { EuiButtonEmpty, diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js index 91a722e9c5f82..56225639777cd 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/steps_config/index.js @@ -4,9 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import cloneDeep from 'lodash/cloneDeep'; -import get from 'lodash/get'; -import pick from 'lodash/pick'; +import { cloneDeep, get, pick } from 'lodash'; import { WEEK } from '../../../../../../../../src/plugins/es_ui_shared/public'; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js index 4765bbb75a706..3ebc7e5c8192c 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js @@ -9,7 +9,10 @@ import { mockHttpRequest, pageHelpers, nextTick } from './helpers'; import { JOB_TO_CLONE, JOB_CLONE_INDEX_PATTERN_CHECK } from './helpers/constants'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); const { setup } = pageHelpers.jobClone; const { diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js index 21d488b9d6c03..90f53a91e425a 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js @@ -10,7 +10,10 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js index 9d1cbf104c10c..549f6ab063746 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js @@ -8,7 +8,10 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js index 7d81d62b9a755..6cf33334d9281 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js @@ -17,7 +17,10 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js index 6fad36387ddfc..d75c7b585994c 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js @@ -8,7 +8,10 @@ import { setHttp } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js index 5dd4165e8788e..3dbbe70bfc560 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js @@ -10,7 +10,10 @@ import { setHttp } from '../../crud_app/services'; import { JOBS } from './helpers/constants'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); jest.mock('../../kibana_services', () => { const services = require.requireActual('../../kibana_services'); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js index 72b72ce60bc64..9434747028e53 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js @@ -8,7 +8,10 @@ import { setHttp } from '../../crud_app/services'; import { pageHelpers, mockHttpRequest } from './helpers'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); const { setup } = pageHelpers.jobCreate; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js index a5021b0a37c84..76be39a2c0e09 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js @@ -10,7 +10,10 @@ import { getRouter } from '../../crud_app/services/routing'; import { setHttp } from '../../crud_app/services'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash/debounce', () => (fn) => fn); +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn) => fn, +})); jest.mock('../../kibana_services', () => { const services = require.requireActual('../../kibana_services'); From aac7d7e9c1838c44cbe4d5c6afc1b4b1cc920bda Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Fri, 26 Jun 2020 00:50:13 +0200 Subject: [PATCH 09/37] chore(NA): migrate `src/core/public/http/fetch.ts` (#5) * omit undefined query props * just remove merge usage * fix types --- src/core/public/http/fetch.ts | 39 ++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/core/public/http/fetch.ts b/src/core/public/http/fetch.ts index 3b736d1146e7c..e31094d96f3d4 100644 --- a/src/core/public/http/fetch.ts +++ b/src/core/public/http/fetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { merge } from 'lodash3'; +import { omitBy } from 'lodash'; import { format } from 'url'; import { BehaviorSubject } from 'rxjs'; @@ -42,6 +42,10 @@ interface Params { const JSON_CONTENT = /^(application\/(json|x-javascript)|text\/(x-)?javascript|x-json)(;.*)?$/; const NDJSON_CONTENT = /^(application\/ndjson)(;.*)?$/; +const removedUndefined = (obj: Record | undefined) => { + return omitBy(obj, (v) => v === undefined); +}; + export class Fetch { private readonly interceptors = new Set(); private readonly requestCount$ = new BehaviorSubject(0); @@ -111,7 +115,6 @@ export class Fetch { }); }; - // TODO: need to migrate this to lodash4 private createRequest(options: HttpFetchOptionsWithPath): Request { // Merge and destructure options out that are not applicable to the Fetch API. const { @@ -120,25 +123,23 @@ export class Fetch { asResponse, asSystemRequest, ...fetchOptions - } = merge( - { - method: 'GET', - credentials: 'same-origin', - prependBasePath: true, - }, - options, - { - headers: { - 'Content-Type': 'application/json', - ...options.headers, - 'kbn-version': this.params.kibanaVersion, - }, - } - ); + } = { + method: 'GET', + credentials: 'same-origin', + prependBasePath: true, + ...options, + // options can pass an `undefined` Content-Type to erase the default value. + // however we can't pass it to `fetch` as it will send an `Content-Type: Undefined` header + headers: removedUndefined({ + 'Content-Type': 'application/json', + ...options.headers, + 'kbn-version': this.params.kibanaVersion, + }), + }; const url = format({ pathname: shouldPrependBasePath ? this.params.basePath.prepend(options.path) : options.path, - query, + query: removedUndefined(query), }); // Make sure the system request header is only present if `asSystemRequest` is true. @@ -146,7 +147,7 @@ export class Fetch { fetchOptions.headers['kbn-system-request'] = 'true'; } - return new Request(url, fetchOptions); + return new Request(url, fetchOptions as RequestInit); } private async fetchResponse(fetchOptions: HttpFetchOptionsWithPath): Promise> { From e036962128c498b407a11def26202ce75fd5b8c7 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 26 Jun 2020 15:57:58 +0100 Subject: [PATCH 10/37] chore(NA): fixes for feedback from apm team --- .../components/app/ErrorGroupDetails/DetailView/index.tsx | 4 ++-- .../apm/public/components/shared/ManagedTable/index.tsx | 3 +-- .../plugins/apm/public/components/shared/Stacktrace/index.tsx | 4 ++-- x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts | 4 ++-- x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts | 4 ++-- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx b/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx index b6ae25eb0589c..4e1af6e0dc239 100644 --- a/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx +++ b/x-pack/plugins/apm/public/components/app/ErrorGroupDetails/DetailView/index.tsx @@ -65,7 +65,7 @@ interface Props { function getCurrentTab( tabs: ErrorTab[] = [], currentTabKey: string | undefined -) { +): ErrorTab | {} { const selectedTab = tabs.find(({ key }) => key === currentTabKey); return selectedTab ? selectedTab : first(tabs) || {}; } @@ -78,7 +78,7 @@ export function DetailView({ errorGroup, urlParams, location }: Props) { } const tabs = getTabs(error); - const currentTab = getCurrentTab(tabs, urlParams.detailTab) as any; + const currentTab = getCurrentTab(tabs, urlParams.detailTab) as ErrorTab; const errorUrl = error.error.page?.url || error.url?.full; diff --git a/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx b/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx index 60b734271c89e..3dbb1b2faac02 100644 --- a/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/ManagedTable/index.tsx @@ -58,9 +58,8 @@ function UnoptimizedManagedTable(props: Props) { } = useUrlParams(); const renderedItems = useMemo(() => { - // TODO: Use _.orderBy once we upgrade to lodash 4+ const sortedItems = sortItems - ? orderBy(items, sortField, sortDirection as any) + ? orderBy(items, sortField, sortDirection as 'asc' | 'desc') : items; return sortedItems.slice(page * pageSize, (page + 1) * pageSize); diff --git a/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx b/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx index d0626295c1fb3..b37146f3b3be5 100644 --- a/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/Stacktrace/index.tsx @@ -79,7 +79,7 @@ interface StackframesGroup { export function getGroupedStackframes(stackframes: IStackframe[]) { return stackframes.reduce((acc, stackframe) => { - const prevGroup = last(acc) as any; + const prevGroup = last(acc); const shouldAppend = prevGroup && prevGroup.isLibraryFrame === stackframe.library_frame && @@ -87,7 +87,7 @@ export function getGroupedStackframes(stackframes: IStackframe[]) { !stackframe.exclude_from_grouping; // append to group - if (shouldAppend) { + if (prevGroup && shouldAppend) { prevGroup.stackframes.push(stackframe); return acc; } diff --git a/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts b/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts index 911480877a76d..d9781400f2272 100644 --- a/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts +++ b/x-pack/plugins/apm/public/context/UrlParamsContext/helpers.ts @@ -61,8 +61,8 @@ export function getPathAsArray(pathname: string = '') { return compact(pathname.split('/')); } -export function removeUndefinedProps(obj: T): Partial { - return pickBy(obj as any, (value) => value !== undefined) as any; +export function removeUndefinedProps(obj: T): Partial { + return pickBy(obj, (value) => value !== undefined); } export function getPathParams(pathname: string = ''): PathParams { diff --git a/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts b/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts index c1f4210e41dc6..3c48c14c2a471 100644 --- a/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts +++ b/x-pack/plugins/apm/server/lib/transactions/breakdown/index.ts @@ -186,8 +186,8 @@ export async function getTransactionBreakdown({ // is drawn correctly. // If we set all values to 0, the chart always displays null values as 0, // and the chart looks weird. - const hasAnyValues = lastValues.some((value: any) => value.y !== null); - const hasNullValues = lastValues.some((value: any) => value.y === null); + const hasAnyValues = lastValues.some((value) => value?.y !== null); + const hasNullValues = lastValues.some((value) => value?.y === null); if (hasAnyValues && hasNullValues) { Object.values(updatedSeries).forEach((series) => { From ddf9e30b88be6533e962433dfbba61275ad47ce1 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 26 Jun 2020 17:31:34 +0100 Subject: [PATCH 11/37] chore(NA): recover old behaviour on apm LoadingIndeicatorContext.tsx --- x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx b/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx index 803a6f1230a7a..99822c0bbc5ca 100644 --- a/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx +++ b/x-pack/plugins/apm/public/context/LoadingIndicatorContext.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import { EuiPortal, EuiProgress } from '@elastic/eui'; -import { pickBy, isBoolean } from 'lodash'; +import { pickBy } from 'lodash'; import React, { Fragment, useMemo, useReducer } from 'react'; import { useDelayedVisibility } from '../components/shared/useDelayedVisibility'; @@ -28,7 +28,7 @@ function reducer(statuses: State, action: Action) { // the object. return pickBy( { ...statuses, [action.id.toString()]: action.isLoading }, - isBoolean + Boolean ); } From bfeeb25f980a3f74f6d378d1ad750b75363ac6a3 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 26 Jun 2020 17:57:23 +0100 Subject: [PATCH 12/37] chore(NA): fixes for feedback from watson --- package.json | 2 ++ packages/kbn-ui-framework/Gruntfile.js | 2 +- src/apm.js | 2 +- .../migrations/core/document_migrator.ts | 3 +-- src/dev/sass/build_sass.js | 2 +- yarn.lock | 20 +++++-------------- 6 files changed, 11 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 0b7f07d0121df..f2321d78ca973 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,9 @@ "**/@types/angular": "^1.6.56", "**/@types/hoist-non-react-statics": "^3.3.1", "**/@types/chai": "^4.2.11", + "**/cypress/@types/lodash": "^4.14.155", "**/typescript": "3.9.5", + "**/graphql-toolkit/lodash": "^4.17.15", "**/hoist-non-react-statics": "^3.3.2", "**/isomorphic-git/**/base64-js": "^1.2.1", "**/image-diff/gm/debug": "^2.6.9", diff --git a/packages/kbn-ui-framework/Gruntfile.js b/packages/kbn-ui-framework/Gruntfile.js index e5fe45a16ea62..b7ba1e87b2f00 100644 --- a/packages/kbn-ui-framework/Gruntfile.js +++ b/packages/kbn-ui-framework/Gruntfile.js @@ -21,7 +21,7 @@ const sass = require('node-sass'); const postcss = require('postcss'); const postcssConfig = require('../../src/optimize/postcss.config'); const chokidar = require('chokidar'); -const debounce = require('lodash/debounce'); +const { debounce } = require('lodash'); const platform = require('os').platform(); const isPlatformWindows = /^win/.test(platform); diff --git a/src/apm.js b/src/apm.js index 3c3b416c2bad6..effa6c77d7614 100644 --- a/src/apm.js +++ b/src/apm.js @@ -20,7 +20,7 @@ const { join } = require('path'); const { readFileSync } = require('fs'); const { execSync } = require('child_process'); -const merge = require('lodash/merge'); +const { merge } = require('lodash'); const { name, version, build } = require('../package.json'); const ROOT_DIR = join(__dirname, '..'); diff --git a/src/core/server/saved_objects/migrations/core/document_migrator.ts b/src/core/server/saved_objects/migrations/core/document_migrator.ts index 032d40b500eeb..6f3ac2bbbfb88 100644 --- a/src/core/server/saved_objects/migrations/core/document_migrator.ts +++ b/src/core/server/saved_objects/migrations/core/document_migrator.ts @@ -219,8 +219,7 @@ function buildActiveMigrations( return { ...migrations, [type.name]: { - // @ts-ignore - latestVersion: _.last(transforms).version, + latestVersion: (_.last(transforms) as Record).version, transforms, }, }; diff --git a/src/dev/sass/build_sass.js b/src/dev/sass/build_sass.js index c86468e2a6517..68058043477d0 100644 --- a/src/dev/sass/build_sass.js +++ b/src/dev/sass/build_sass.js @@ -23,11 +23,11 @@ import * as Rx from 'rxjs'; import { toArray } from 'rxjs/operators'; import { createFailError } from '@kbn/dev-utils'; +import { debounce } from 'lodash'; import { findPluginSpecs } from '../../legacy/plugin_discovery'; import { collectUiExports } from '../../legacy/ui'; import { buildAll } from '../../legacy/server/sass/build_all'; import chokidar from 'chokidar'; -import debounce from 'lodash/debounce'; // TODO: clintandrewhall - Extract and use FSWatcher from legacy/server/sass const build = async ({ log, kibanaDir, styleSheetPaths, watch }) => { diff --git a/yarn.lock b/yarn.lock index dd65398659f0e..efc937ecb18a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5327,21 +5327,16 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== -"@types/lodash@4.14.149": - version "4.14.149" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" - integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== +"@types/lodash@4.14.149", "@types/lodash@^4.14.155": + version "4.14.156" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" + integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== "@types/lodash@^4.14.116": version "4.14.150" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== -"@types/lodash@^4.14.155": - version "4.14.156" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" - integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== - "@types/log-symbols@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/log-symbols/-/log-symbols-2.0.0.tgz#7919e2ec3c8d13879bfdcab310dd7a3f7fc9466d" @@ -20861,12 +20856,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== -lodash@4.17.11: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - -lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: +lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== From 554456dca56ba239797a5baade5b25a4072af10a Mon Sep 17 00:00:00 2001 From: Josh Dover Date: Fri, 26 Jun 2020 13:19:54 -0600 Subject: [PATCH 13/37] Platform lodash4 tweaks (#6) --- src/core/public/plugins/plugins_service.test.ts | 12 ++++-------- src/core/public/saved_objects/simple_saved_object.ts | 2 +- .../server/config/deprecation/core_deprecations.ts | 5 +---- src/core/server/elasticsearch/errors.ts | 2 +- .../migrations/core/document_migrator.ts | 2 +- .../server/saved_objects/service/lib/repository.ts | 2 +- .../management_section/saved_objects_table_page.tsx | 2 +- .../features/server/ui_capabilities_for_features.ts | 7 ++----- 8 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/core/public/plugins/plugins_service.test.ts b/src/core/public/plugins/plugins_service.test.ts index 0e3df3fd6af68..7dc5f3655fca0 100644 --- a/src/core/public/plugins/plugins_service.test.ts +++ b/src/core/public/plugins/plugins_service.test.ts @@ -91,10 +91,7 @@ describe('PluginsService', () => { context: contextServiceMock.createSetupContract(), fatalErrors: fatalErrorsServiceMock.createSetupContract(), http: httpServiceMock.createSetupContract(), - injectedMetadata: pick( - injectedMetadataServiceMock.createStartContract(), - 'getInjectedVar' - ) as any, + injectedMetadata: injectedMetadataServiceMock.createStartContract(), notifications: notificationServiceMock.createSetupContract(), uiSettings: uiSettingsServiceMock.createSetupContract(), }; @@ -102,6 +99,7 @@ describe('PluginsService', () => { ...mockSetupDeps, application: expect.any(Object), getStartServices: expect.any(Function), + injectedMetadata: pick(mockSetupDeps.injectedMetadata, 'getInjectedVar'), }; mockStartDeps = { application: applicationServiceMock.createInternalStartContract(), @@ -109,10 +107,7 @@ describe('PluginsService', () => { http: httpServiceMock.createStartContract(), chrome: chromeServiceMock.createStartContract(), i18n: i18nServiceMock.createStartContract(), - injectedMetadata: pick( - injectedMetadataServiceMock.createStartContract(), - 'getInjectedVar' - ) as any, + injectedMetadata: injectedMetadataServiceMock.createStartContract(), notifications: notificationServiceMock.createStartContract(), overlays: overlayServiceMock.createStartContract(), uiSettings: uiSettingsServiceMock.createStartContract(), @@ -123,6 +118,7 @@ describe('PluginsService', () => { ...mockStartDeps, application: expect.any(Object), chrome: omit(mockStartDeps.chrome, 'getComponent'), + injectedMetadata: pick(mockStartDeps.injectedMetadata, 'getInjectedVar'), }; // Reset these for each test. diff --git a/src/core/public/saved_objects/simple_saved_object.ts b/src/core/public/saved_objects/simple_saved_object.ts index 51ed8f553919b..165ef98be91d4 100644 --- a/src/core/public/saved_objects/simple_saved_object.ts +++ b/src/core/public/saved_objects/simple_saved_object.ts @@ -60,7 +60,7 @@ export class SimpleSavedObject { } public set(key: string, value: any): T { - return set(this.attributes as any, key, value) as any; + return set(this.attributes as any, key, value); } public has(key: string): boolean { diff --git a/src/core/server/config/deprecation/core_deprecations.ts b/src/core/server/config/deprecation/core_deprecations.ts index 81504875cef96..715f5b883139f 100644 --- a/src/core/server/config/deprecation/core_deprecations.ts +++ b/src/core/server/config/deprecation/core_deprecations.ts @@ -39,10 +39,7 @@ const dataPathDeprecation: ConfigDeprecation = (settings, fromPath, log) => { }; const xsrfDeprecation: ConfigDeprecation = (settings, fromPath, log) => { - if ( - has(settings, 'server.xsrf.whitelist') && - get(settings, 'server.xsrf.whitelist' as any).length > 0 - ) { + if ((settings.server?.xsrf?.whitelist ?? []).length > 0) { log( 'It is not recommended to disable xsrf protections for API endpoints via [server.xsrf.whitelist]. ' + 'It will be removed in 8.0 release. Instead, supply the "kbn-xsrf" header.' diff --git a/src/core/server/elasticsearch/errors.ts b/src/core/server/elasticsearch/errors.ts index bebf40b49426b..b38c79c852663 100644 --- a/src/core/server/elasticsearch/errors.ts +++ b/src/core/server/elasticsearch/errors.ts @@ -81,7 +81,7 @@ export class ElasticsearchErrorHelpers { public static decorateNotAuthorizedError(error: Error, reason?: string) { const decoratedError = decorate(error, ErrorCode.NOT_AUTHORIZED, 401, reason); - const wwwAuthHeader = get(error as any, 'body.error.header[WWW-Authenticate]' as any); + const wwwAuthHeader = (error as any).body?.header?.['WWW-Authenticate'] as string; decoratedError.output.headers['WWW-Authenticate'] = wwwAuthHeader || 'Basic realm="Authorization Required"'; diff --git a/src/core/server/saved_objects/migrations/core/document_migrator.ts b/src/core/server/saved_objects/migrations/core/document_migrator.ts index 6f3ac2bbbfb88..07675bb0a6819 100644 --- a/src/core/server/saved_objects/migrations/core/document_migrator.ts +++ b/src/core/server/saved_objects/migrations/core/document_migrator.ts @@ -219,7 +219,7 @@ function buildActiveMigrations( return { ...migrations, [type.name]: { - latestVersion: (_.last(transforms) as Record).version, + latestVersion: _.last(transforms)!.version, transforms, }, }; diff --git a/src/core/server/saved_objects/service/lib/repository.ts b/src/core/server/saved_objects/service/lib/repository.ts index f0d34e581b4d8..47181faafa688 100644 --- a/src/core/server/saved_objects/service/lib/repository.ts +++ b/src/core/server/saved_objects/service/lib/repository.ts @@ -1346,7 +1346,7 @@ export class SavedObjectsRepository { // method transparently to the specified namespace. private _rawToSavedObject(raw: SavedObjectsRawDoc): SavedObject { const savedObject = this._serializer.rawToSavedObject(raw); - return omit(savedObject, 'namespace') as SavedObject; + return omit(savedObject, 'namespace') as SavedObject; } /** diff --git a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx index 0e52fa441568f..dbbea4012aba9 100644 --- a/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx +++ b/src/plugins/saved_objects_management/public/management_section/saved_objects_table_page.tsx @@ -78,7 +78,7 @@ const SavedObjectsTablePage = ({ }} canGoInApp={(savedObject) => { const { inAppUrl } = savedObject.meta; - return inAppUrl ? (get(capabilities, inAppUrl.uiCapabilitiesPath) as any) : false; + return inAppUrl ? Boolean(get(capabilities, inAppUrl.uiCapabilitiesPath)) : false; }} /> ); diff --git a/x-pack/plugins/features/server/ui_capabilities_for_features.ts b/x-pack/plugins/features/server/ui_capabilities_for_features.ts index f0f02df1a5e56..2570d4540b6a6 100644 --- a/x-pack/plugins/features/server/ui_capabilities_for_features.ts +++ b/x-pack/plugins/features/server/ui_capabilities_for_features.ts @@ -8,7 +8,7 @@ import _ from 'lodash'; import { Capabilities as UICapabilities } from '../../../../src/core/server'; import { Feature } from '../common/feature'; -const ELIGIBLE_FLAT_MERGE_KEYS = ['catalogue']; +const ELIGIBLE_FLAT_MERGE_KEYS = ['catalogue'] as const; interface FeatureCapabilities { [featureId: string]: Record; @@ -67,10 +67,7 @@ function getCapabilitiesFromFeature(feature: Feature): FeatureCapabilities { function buildCapabilities(...allFeatureCapabilities: FeatureCapabilities[]): UICapabilities { return allFeatureCapabilities.reduce((acc, capabilities) => { - const mergableCapabilities: UICapabilities = _.omit( - capabilities, - ...ELIGIBLE_FLAT_MERGE_KEYS - ) as UICapabilities; + const mergableCapabilities = _.omit(capabilities, ...ELIGIBLE_FLAT_MERGE_KEYS); const mergedFeatureCapabilities = { ...mergableCapabilities, From f656fadc54fd2e0d0e6cb68774ad45083110dcc5 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 26 Jun 2020 21:26:41 +0100 Subject: [PATCH 14/37] chore(NA): fix types and behaviour on src/core/server/elasticsearch/errors.ts --- src/core/server/elasticsearch/errors.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/server/elasticsearch/errors.ts b/src/core/server/elasticsearch/errors.ts index b38c79c852663..e273cd2040427 100644 --- a/src/core/server/elasticsearch/errors.ts +++ b/src/core/server/elasticsearch/errors.ts @@ -81,7 +81,7 @@ export class ElasticsearchErrorHelpers { public static decorateNotAuthorizedError(error: Error, reason?: string) { const decoratedError = decorate(error, ErrorCode.NOT_AUTHORIZED, 401, reason); - const wwwAuthHeader = (error as any).body?.header?.['WWW-Authenticate'] as string; + const wwwAuthHeader = get(error, 'body.error.header[WWW-Authenticate]') as string; decoratedError.output.headers['WWW-Authenticate'] = wwwAuthHeader || 'Basic realm="Authorization Required"'; From 17b1535b097c64679a146fdc58ee88b1f6c00134 Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Fri, 26 Jun 2020 16:25:35 -0400 Subject: [PATCH 15/37] Canvas fixes for lodash upgrade --- .../canvas_plugin_src/functions/common/pie.ts | 2 +- .../common/plot/series_style_to_flot.ts | 12 ++-- .../functions/server/pointseries/index.ts | 2 +- .../uis/arguments/palette.tsx | 2 +- .../canvas/common/lib/pivot_object_array.ts | 7 +-- .../components/enhance/error_boundary.tsx | 58 ++++++------------- .../public/components/item_grid/item_grid.tsx | 18 ++++-- .../public/components/workpad_config/index.ts | 8 +-- .../series_style/extended_template.tsx | 8 +-- .../canvas/public/functions/filters.ts | 4 +- x-pack/plugins/canvas/public/lib/keymap.ts | 6 +- .../lib/template_from_react_component.tsx | 6 +- .../public/state/selectors/resolved_args.ts | 2 +- .../canvas/public/state/selectors/workpad.ts | 34 +++++++---- .../collectors/custom_element_collector.ts | 2 +- .../server/collectors/workpad_collector.ts | 14 ++--- .../canvas/server/routes/workpad/update.ts | 3 +- 17 files changed, 93 insertions(+), 95 deletions(-) diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts index f180dcd0033bc..c32c553fffc1b 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/pie.ts @@ -5,7 +5,7 @@ */ import { get, keyBy, map, groupBy } from 'lodash'; -// @ts-ignore untyped local +// @ts-expect-error untyped local import { getColorsFromPalette } from '../../../common/lib/get_colors_from_palette'; // @ts-expect-error untyped local import { getLegendConfig } from '../../../common/lib/get_legend_config'; diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts index 29c9baed42a3c..e4b710240de19 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/common/plot/series_style_to_flot.ts @@ -12,12 +12,12 @@ export const seriesStyleToFlot = (seriesStyle: SeriesStyle) => { return {}; } - const lines = get(seriesStyle, 'lines') as SeriesStyle['lines']; - const bars = get(seriesStyle, 'bars') as SeriesStyle['bars']; - const fill = get(seriesStyle, 'fill') as SeriesStyle['fill']; - const color = get(seriesStyle, 'color') as SeriesStyle['color']; - const stack = get(seriesStyle, 'stack') as SeriesStyle['stack']; - const horizontal = get(seriesStyle, 'horizontalBars', false) as SeriesStyle['horizontalBars']; + const lines = get(seriesStyle, 'lines'); + const bars = get(seriesStyle, 'bars'); + const fill = get(seriesStyle, 'fill'); + const color = get(seriesStyle, 'color'); + const stack = get(seriesStyle, 'stack'); + const horizontal = get(seriesStyle, 'horizontalBars', false); const flotStyle = { numbers: { diff --git a/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts b/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts index 9d8a5a67fb688..f79f189f363d4 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts +++ b/x-pack/plugins/canvas/canvas_plugin_src/functions/server/pointseries/index.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -// @ts-ignore Untyped Elastic library +// @ts-expect-error Untyped Elastic library import { evaluate } from 'tinymath'; import { groupBy, zipObject, omit, uniqBy } from 'lodash'; import moment from 'moment'; diff --git a/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx b/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx index 977015c8fbc5d..8ae61f7197ee8 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx +++ b/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/palette.tsx @@ -40,7 +40,7 @@ export const PaletteArgInput: FC = ({ onValueChange, argId, argValue, ren return astObj; }) as string[]; - const gradient = get(chain[0].arguments.gradient, '[0]'); + const gradient = get(chain[0].arguments.gradient, '[0]') as boolean; const palette = identifyPalette({ colors, gradient }); if (palette) { diff --git a/x-pack/plugins/canvas/common/lib/pivot_object_array.ts b/x-pack/plugins/canvas/common/lib/pivot_object_array.ts index 8689364b053ea..2bc52fb0eaafc 100644 --- a/x-pack/plugins/canvas/common/lib/pivot_object_array.ts +++ b/x-pack/plugins/canvas/common/lib/pivot_object_array.ts @@ -11,15 +11,12 @@ const isString = (val: any): boolean => typeof val === 'string'; export function pivotObjectArray< RowType extends { [key: string]: any }, ReturnColumns extends string | number | symbol = keyof RowType ->( - rows: RowType[], - columns?: string[] -): { [Column in ReturnColumns]: Column extends keyof RowType ? Array : never } { +>(rows: RowType[], columns?: string[]): Record { const columnNames = columns || Object.keys(rows[0]); if (!columnNames.every(isString)) { throw new Error('Columns should be an array of strings'); } const columnValues = map(columnNames, (name) => map(rows, name)); - return zipObject(columnNames, columnValues) as any; + return zipObject(columnNames, columnValues); } diff --git a/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx b/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx index 23eb4091c3086..c0ed14965cbd3 100644 --- a/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx +++ b/x-pack/plugins/canvas/public/components/enhance/error_boundary.tsx @@ -4,38 +4,27 @@ * you may not use this file except in compliance with the Elastic License. */ -import React, { Fragment, FunctionComponent, ReactChildren } from 'react'; +import React, { ErrorInfo, FC, ReactElement } from 'react'; import { withState, withHandlers, lifecycle, mapProps, compose } from 'recompose'; import PropTypes from 'prop-types'; import { omit } from 'lodash'; -type ResetErrorState = ({ - setError, - setErrorInfo, -}: { - setError: Function; - setErrorInfo: Function; -}) => void; - interface Props { - error: Error; - errorInfo: any; - resetErrorState: ResetErrorState; + error?: Error; + errorInfo?: ErrorInfo; + resetErrorState: (state: { error: Error; errorInfo: ErrorInfo }) => void; + setError: (error: Error | null) => void; + setErrorInfo: (info: ErrorInfo | null) => void; + children: (props: ChildrenProps) => ReactElement | null; } -interface ComponentProps extends Props { - children: (props: Props) => ReactChildren; -} +type ComponentProps = Pick; +type ChildrenProps = Omit; -const ErrorBoundaryComponent: FunctionComponent = (props) => ( - - {props.children({ - error: props.error, - errorInfo: props.errorInfo, - resetErrorState: props.resetErrorState, - })} - -); +const ErrorBoundaryComponent: FC = (props) => { + const { children, ...rest } = props; + return <>{children(rest)}; +}; ErrorBoundaryComponent.propTypes = { children: PropTypes.func.isRequired, @@ -44,33 +33,22 @@ ErrorBoundaryComponent.propTypes = { resetErrorState: PropTypes.func.isRequired, }; -interface HOCProps { - setError: Function; - setErrorInfo: Function; -} - -interface HandlerProps { - resetErrorState: ResetErrorState; -} - -export const errorBoundaryHoc = compose( +export const errorBoundaryHoc = compose>( withState('error', 'setError', null), withState('errorInfo', 'setErrorInfo', null), - withHandlers({ + withHandlers, Pick>({ resetErrorState: ({ setError, setErrorInfo }) => () => { setError(null); setErrorInfo(null); }, }), - lifecycle({ + lifecycle({ componentDidCatch(error, errorInfo) { this.props.setError(error); this.props.setErrorInfo(errorInfo); }, }), - mapProps>( - (props) => omit(props, ['setError', 'setErrorInfo']) as HOCProps - ) -) as any; + mapProps((props) => omit(props, ['setError', 'setErrorInfo'])) +); export const ErrorBoundary = errorBoundaryHoc(ErrorBoundaryComponent); diff --git a/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx b/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx index bafb9b248358c..b9c879a27fd9c 100644 --- a/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx +++ b/x-pack/plugins/canvas/public/components/item_grid/item_grid.tsx @@ -19,13 +19,13 @@ export interface Props { */ itemsPerRow?: number; /** A function with which to iterate upon the items collection, producing nodes. */ - children: (item: T) => ReactElement; + children: (item: T) => ReactElement; } // We need this type in order to define propTypes on the object. It's a bit redundant, // but TS needs to know that ItemGrid can have propTypes defined on it. interface ItemGridType { - (props: Props): ReactElement; + (props: Props): ReactElement; propTypes?: ValidationMap>; } @@ -35,16 +35,22 @@ export const ItemGrid: ItemGridType = function ItemGridFunc({ children, }: Props) { const reducedRows = items.reduce( - (rows: Array>>, item: any) => { - if ((last(rows) as any).length >= itemsPerRow) { + (rows: ReactElement[][], item: T) => { + let end = last(rows); + + if (end && end.length >= itemsPerRow) { rows.push([]); } - (last(rows) as any).push(children(item)); + end = last(rows); + + if (end) { + end.push(children(item)); + } return rows; }, - [[]] as Array>> + [[]] as ReactElement[][] ); return ( diff --git a/x-pack/plugins/canvas/public/components/workpad_config/index.ts b/x-pack/plugins/canvas/public/components/workpad_config/index.ts index bbfc11d28f6ec..c69a1fd9b8137 100644 --- a/x-pack/plugins/canvas/public/components/workpad_config/index.ts +++ b/x-pack/plugins/canvas/public/components/workpad_config/index.ts @@ -17,12 +17,12 @@ const mapStateToProps = (state: State) => { const workpad = getWorkpad(state); return { - name: get(workpad, 'name') as string, + name: get(workpad, 'name'), size: { - width: get(workpad, 'width') as number, - height: get(workpad, 'height') as number, + width: get(workpad, 'width'), + height: get(workpad, 'height'), }, - css: get(workpad, 'css', DEFAULT_WORKPAD_CSS) as string, + css: get(workpad, 'css', DEFAULT_WORKPAD_CSS), }; }; diff --git a/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx b/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx index 1e2e330ffa2ac..f02407ba2897d 100644 --- a/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx +++ b/x-pack/plugins/canvas/public/expression_types/arg_types/series_style/extended_template.tsx @@ -46,7 +46,7 @@ export const ExtendedTemplate: FunctionComponent = (props) => { name = typeInstance.name; } - const fields = get(typeInstance, 'options.include', []) as string[]; + const fields: string[] = get(typeInstance, 'options.include', []); const hasPropFields = fields.some((field) => ['lines', 'bars', 'points'].indexOf(field) !== -1); const handleChange: (key: T, val: ChangeEvent) => void = ( @@ -91,7 +91,7 @@ export const ExtendedTemplate: FunctionComponent = (props) => { - {(fields as any).includes('lines') && ( + {fields.includes('lines') && ( = (props) => { )} - {(fields as any).includes('bars') && ( + {fields.includes('bars') && ( = (props) => { )} - {(fields as any).includes('points') && ( + {fields.includes('points') && ( { const ast = fromExpression(filter); - const expGroups = get(ast, 'chain[0].arguments.filterGroup', []) as any; - return expGroups.length > 0 && expGroups.every((expGroup: any) => groups.includes(expGroup)); + const expGroups: string[] = get(ast, 'chain[0].arguments.filterGroup', []); + return expGroups.length > 0 && expGroups.every((expGroup) => groups.includes(expGroup)); }); } diff --git a/x-pack/plugins/canvas/public/lib/keymap.ts b/x-pack/plugins/canvas/public/lib/keymap.ts index 2491aece97789..f713da5419b3e 100644 --- a/x-pack/plugins/canvas/public/lib/keymap.ts +++ b/x-pack/plugins/canvas/public/lib/keymap.ts @@ -153,14 +153,16 @@ export const keymap: KeyMap = { displayName: namespaceDisplayNames.PRESENTATION, FULLSCREEN: fullscreenShortcut, FULLSCREEN_EXIT: getShortcuts('esc', { help: shortcutHelp.FULLSCREEN_EXIT }), + // @ts-expect-error TODO: figure out why lodash is inferring booleans, rather than ShortcutMap. PREV: mapValues(previousPageShortcut, (osShortcuts: string[], key?: string) => // adds 'backspace' and 'left' to list of shortcuts per OS key === 'help' ? osShortcuts : osShortcuts.concat(['backspace', 'left']) - ) as any, + ), + // @ts-expect-error TODO: figure out why lodash is inferring booleans, rather than ShortcutMap. NEXT: mapValues(nextPageShortcut, (osShortcuts: string[], key?: string) => // adds 'space' and 'right' to list of shortcuts per OS key === 'help' ? osShortcuts : osShortcuts.concat(['space', 'right']) - ) as any, + ), REFRESH: refreshShortcut, PAGE_CYCLE_TOGGLE: getShortcuts('p', { help: shortcutHelp.PAGE_CYCLE_TOGGLE }), }, diff --git a/x-pack/plugins/canvas/public/lib/template_from_react_component.tsx b/x-pack/plugins/canvas/public/lib/template_from_react_component.tsx index 17e2712c44b8d..f4e715b1bbc49 100644 --- a/x-pack/plugins/canvas/public/lib/template_from_react_component.tsx +++ b/x-pack/plugins/canvas/public/lib/template_from_react_component.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import React, { ComponentType, FunctionComponent } from 'react'; +import React, { ComponentType, FC } from 'react'; import { unmountComponentAtNode, render } from 'react-dom'; import PropTypes from 'prop-types'; import { I18nProvider } from '@kbn/i18n/react'; @@ -16,9 +16,9 @@ interface Props { } export const templateFromReactComponent = (Component: ComponentType) => { - const WrappedComponent: FunctionComponent = (props) => ( + const WrappedComponent: FC = (props) => ( - {({ error }: { error: Error }) => { + {({ error }) => { if (error) { props.renderError(); return null; diff --git a/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts b/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts index 3f9abf92c6b36..770d4403f8587 100644 --- a/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts +++ b/x-pack/plugins/canvas/public/state/selectors/resolved_args.ts @@ -12,7 +12,7 @@ import { prepend } from '../../lib/modify_path'; import { State } from '../../../types'; export function getArgs(state: State) { - return get(state, ['transient', 'resolvedArgs']) as any; + return get(state, ['transient', 'resolvedArgs']); } export function getArg(state: State, path: any[]) { diff --git a/x-pack/plugins/canvas/public/state/selectors/workpad.ts b/x-pack/plugins/canvas/public/state/selectors/workpad.ts index 8068269690d07..83f4984b4a300 100644 --- a/x-pack/plugins/canvas/public/state/selectors/workpad.ts +++ b/x-pack/plugins/canvas/public/state/selectors/workpad.ts @@ -50,7 +50,10 @@ export function getWorkpadPersisted(state: State) { } export function getWorkpadInfo(state: State): WorkpadInfo { - return omit(getWorkpad(state), ['pages']) as WorkpadInfo; + return { + ...getWorkpad(state), + pages: undefined, + }; } export function isWriteable(state: State): boolean { @@ -308,7 +311,7 @@ export function getElements( } const page = getPageById(state, id); - const elements = get(page, 'elements') as any; + const elements = get(page, 'elements'); if (!elements) { return []; @@ -318,10 +321,12 @@ export function getElements( // due to https://github.com/elastic/kibana-canvas/issues/260 // TODO: remove this once it's been in the wild a bit if (!withAst) { - return elements.map((el: any) => omit(el, ['ast'])) as CanvasElement[]; + // @ts-expect-error 'ast' is no longer on the CanvasElement type, but since we + // have JS calling into this, we can't be certain this call isn't necessary. + return elements.map((el) => omit(el, ['ast'])); } - return elements.map(appendAst) as CanvasElement[]; + return elements.map(appendAst); } const augment = (type: string) => (n: T): T => ({ @@ -330,11 +335,13 @@ const augment = (type: string) => (n: T): ...(type === 'group' && { expression: 'shape fill="rgba(255,255,255,0)" | render' }), // fixme unify with mw/aeroelastic }); -const getNodesOfPage = (page: CanvasPage): CanvasElement[] => { - const elements = get(page, 'elements').map(augment('element')) as any; - const groups = (get(page, 'groups', []) as any).map(augment('group')) as any; +const getNodesOfPage = (page: CanvasPage): Array => { + const elements: Array = get(page, 'elements').map( + augment('element') + ); + const groups = get(page, 'groups', [] as CanvasGroup[]).map(augment('group')); - return elements.concat(groups as CanvasElement[]); + return elements.concat(groups); }; export function getNodesForPage(page: CanvasPage, withAst: true): PositionedElement[]; @@ -343,7 +350,11 @@ export function getNodesForPage( page: CanvasPage, withAst: boolean ): CanvasElement[] | PositionedElement[]; -export function getNodesForPage(page: CanvasPage, withAst: boolean): CanvasElement[] { + +export function getNodesForPage( + page: CanvasPage, + withAst: boolean +): Array { const elements = getNodesOfPage(page); if (!elements) { @@ -354,9 +365,12 @@ export function getNodesForPage(page: CanvasPage, withAst: boolean): CanvasEleme // due to https://github.com/elastic/kibana-canvas/issues/260 // TODO: remove this once it's been in the wild a bit if (!withAst) { - return elements.map((el) => omit(el, ['ast'])) as CanvasElement[]; + // @ts-expect-error 'ast' is no longer on the CanvasElement type, but since we + // have JS calling into this, we can't be certain this call isn't necessary. + return elements.map((el) => omit(el, ['ast'])); } + // @ts-expect-error All of this AST business needs to be cleaned up. return elements.map(appendAst); } diff --git a/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts b/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts index bbd73a6f44efe..7b39e8b83b045 100644 --- a/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts +++ b/x-pack/plugins/canvas/server/collectors/custom_element_collector.ts @@ -113,7 +113,7 @@ const customElementCollector: TelemetryCollector = async function customElementC const esResponse = await callCluster('search', customElementParams); - if ((get(esResponse, 'hits.hits.length') as number) > 0) { + if (get(esResponse, 'hits.hits.length') > 0) { const customElements = esResponse.hits.hits.map((hit) => hit._source[CUSTOM_ELEMENT_TYPE]); return summarizeCustomElements(customElements); } diff --git a/x-pack/plugins/canvas/server/collectors/workpad_collector.ts b/x-pack/plugins/canvas/server/collectors/workpad_collector.ts index 950af8a510430..4b00d061c17ce 100644 --- a/x-pack/plugins/canvas/server/collectors/workpad_collector.ts +++ b/x-pack/plugins/canvas/server/collectors/workpad_collector.ts @@ -133,8 +133,8 @@ export function summarizeWorkpads(workpadDocs: CanvasWorkpad[]): WorkpadTelemetr total: elementsTotal, per_page: { avg: elementsTotal / elementCounts.length, - min: arrayMin(elementCounts), - max: arrayMax(elementCounts), + min: arrayMin(elementCounts) || 0, + max: arrayMax(elementCounts) || 0, }, } : undefined; @@ -145,8 +145,8 @@ export function summarizeWorkpads(workpadDocs: CanvasWorkpad[]): WorkpadTelemetr in_use: Array.from(functionSet), per_element: { avg: functionsTotal / functionCounts.length, - min: arrayMin(functionCounts), - max: arrayMax(functionCounts), + min: arrayMin(functionCounts) || 0, + max: arrayMax(functionCounts) || 0, }, } : undefined; @@ -154,8 +154,8 @@ export function summarizeWorkpads(workpadDocs: CanvasWorkpad[]): WorkpadTelemetr return { workpads: { total: workpadsInfo.length }, pages: pagesInfo, - elements: elementsInfo as any, - functions: functionsInfo as any, + elements: elementsInfo, + functions: functionsInfo, }; } @@ -170,7 +170,7 @@ const workpadCollector: TelemetryCollector = async function (kibanaIndex, callCl const esResponse = await callCluster('search', searchParams); - if ((get(esResponse, 'hits.hits.length') as number) > 0) { + if (get(esResponse, 'hits.hits.length') > 0) { const workpads = esResponse.hits.hits.map((hit) => hit._source[CANVAS_TYPE]); return summarizeWorkpads(workpads); } diff --git a/x-pack/plugins/canvas/server/routes/workpad/update.ts b/x-pack/plugins/canvas/server/routes/workpad/update.ts index d6416a355a8a1..9dae2047c30bf 100644 --- a/x-pack/plugins/canvas/server/routes/workpad/update.ts +++ b/x-pack/plugins/canvas/server/routes/workpad/update.ts @@ -7,6 +7,7 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { omit } from 'lodash'; import { KibanaResponseFactory, SavedObjectsClientContract } from 'src/core/server'; +import { CanvasWorkpad } from '../../../types'; import { RouteInitializerDeps } from '../'; import { CANVAS_TYPE, @@ -32,7 +33,7 @@ const workpadUpdateHandler = async ( ) => { const now = new Date().toISOString(); - const workpadObject = (await savedObjectsClient.get(CANVAS_TYPE, id)) as any; + const workpadObject = await savedObjectsClient.get(CANVAS_TYPE, id); await savedObjectsClient.create( CANVAS_TYPE, { From 9a8db4837b52e3a3eb21f206c5eaf1d27d026a00 Mon Sep 17 00:00:00 2001 From: Oliver Gupte Date: Sun, 28 Jun 2020 15:15:52 -0700 Subject: [PATCH 16/37] [APM] Adds unit test for APM service maps transform (#7) * Adds a snapshot unit test for getConnections and rearranges some code to make testing easier * reverts `ArrayList` back to `String[]` in the painless script within `fetch_service_paths_from_trace_ids.ts` --- ...et_service_map_from_trace_ids.test.ts.snap | 222 ++++ .../fetch_service_paths_from_trace_ids.ts | 232 ++++ .../get_service_map_from_trace_ids.test.ts | 28 + .../get_service_map_from_trace_ids.ts | 260 +--- ...ce_map_from_trace_ids_script_response.json | 1165 +++++++++++++++++ 5 files changed, 1685 insertions(+), 222 deletions(-) create mode 100644 x-pack/plugins/apm/server/lib/service_map/__snapshots__/get_service_map_from_trace_ids.test.ts.snap create mode 100644 x-pack/plugins/apm/server/lib/service_map/fetch_service_paths_from_trace_ids.ts create mode 100644 x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.test.ts create mode 100644 x-pack/plugins/apm/server/lib/service_map/mock_responses/get_service_map_from_trace_ids_script_response.json diff --git a/x-pack/plugins/apm/server/lib/service_map/__snapshots__/get_service_map_from_trace_ids.test.ts.snap b/x-pack/plugins/apm/server/lib/service_map/__snapshots__/get_service_map_from_trace_ids.test.ts.snap new file mode 100644 index 0000000000000..1f4a8a4367fad --- /dev/null +++ b/x-pack/plugins/apm/server/lib/service_map/__snapshots__/get_service_map_from_trace_ids.test.ts.snap @@ -0,0 +1,222 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`getConnections transforms a list of paths into a list of connections filtered by service.name and environment 1`] = ` +Array [ + Object { + "destination": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + "source": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "172.18.0.6:3000", + "span.subtype": "http", + "span.type": "external", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "source": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + "source": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "destination": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "opbeans-python:3000", + "span.subtype": "http_rb", + "span.type": "ext", + }, + "source": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "destination": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + "source": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "opbeans-node:3000", + "span.subtype": "http", + "span.type": "external", + }, + "source": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "172.18.0.7:3000", + "span.subtype": "http", + "span.type": "external", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + "source": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + Object { + "destination": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "source": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "93.184.216.34:80", + "span.subtype": "http", + "span.type": "external", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "opbeans-ruby:3000", + "span.subtype": "http_rb", + "span.type": "ext", + }, + "source": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "redis", + "span.subtype": "redis", + "span.type": "cache", + }, + "source": Object { + "agent.name": "nodejs", + "service.environment": "production", + "service.name": "opbeans-node", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "opbeans-node:3000", + "span.subtype": "http_rb", + "span.type": "ext", + }, + "source": Object { + "agent.name": "ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "destination": Object { + "span.destination.service.resource": "opbeans-ruby:3000", + "span.subtype": "http", + "span.type": "external", + }, + "source": Object { + "agent.name": "python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, +] +`; diff --git a/x-pack/plugins/apm/server/lib/service_map/fetch_service_paths_from_trace_ids.ts b/x-pack/plugins/apm/server/lib/service_map/fetch_service_paths_from_trace_ids.ts new file mode 100644 index 0000000000000..08c8aba5f0207 --- /dev/null +++ b/x-pack/plugins/apm/server/lib/service_map/fetch_service_paths_from_trace_ids.ts @@ -0,0 +1,232 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import { + PROCESSOR_EVENT, + TRACE_ID, +} from '../../../common/elasticsearch_fieldnames'; +import { + ConnectionNode, + ExternalConnectionNode, + ServiceConnectionNode, +} from '../../../common/service_map'; +import { Setup } from '../helpers/setup_request'; + +export async function fetchServicePathsFromTraceIds( + setup: Setup, + traceIds: string[] +) { + const { indices, client } = setup; + + const serviceMapParams = { + index: [ + indices['apm_oss.spanIndices'], + indices['apm_oss.transactionIndices'], + ], + body: { + size: 0, + query: { + bool: { + filter: [ + { + terms: { + [PROCESSOR_EVENT]: ['span', 'transaction'], + }, + }, + { + terms: { + [TRACE_ID]: traceIds, + }, + }, + ], + }, + }, + aggs: { + service_map: { + scripted_metric: { + init_script: { + lang: 'painless', + source: `state.eventsById = new HashMap(); + + String[] fieldsToCopy = new String[] { + 'parent.id', + 'service.name', + 'service.environment', + 'span.destination.service.resource', + 'trace.id', + 'processor.event', + 'span.type', + 'span.subtype', + 'agent.name' + }; + state.fieldsToCopy = fieldsToCopy;`, + }, + map_script: { + lang: 'painless', + source: `def id; + if (!doc['span.id'].empty) { + id = doc['span.id'].value; + } else { + id = doc['transaction.id'].value; + } + + def copy = new HashMap(); + copy.id = id; + + for(key in state.fieldsToCopy) { + if (!doc[key].empty) { + copy[key] = doc[key].value; + } + } + + state.eventsById[id] = copy`, + }, + combine_script: { + lang: 'painless', + source: `return state.eventsById;`, + }, + reduce_script: { + lang: 'painless', + source: ` + def getDestination ( def event ) { + def destination = new HashMap(); + destination['span.destination.service.resource'] = event['span.destination.service.resource']; + destination['span.type'] = event['span.type']; + destination['span.subtype'] = event['span.subtype']; + return destination; + } + + def processAndReturnEvent(def context, def eventId) { + if (context.processedEvents[eventId] != null) { + return context.processedEvents[eventId]; + } + + def event = context.eventsById[eventId]; + + if (event == null) { + return null; + } + + def service = new HashMap(); + service['service.name'] = event['service.name']; + service['service.environment'] = event['service.environment']; + service['agent.name'] = event['agent.name']; + + def basePath = new ArrayList(); + + def parentId = event['parent.id']; + def parent; + + if (parentId != null && parentId != event['id']) { + parent = processAndReturnEvent(context, parentId); + if (parent != null) { + /* copy the path from the parent */ + basePath.addAll(parent.path); + /* flag parent path for removal, as it has children */ + context.locationsToRemove.add(parent.path); + + /* if the parent has 'span.destination.service.resource' set, and the service is different, + we've discovered a service */ + + if (parent['span.destination.service.resource'] != null + && parent['span.destination.service.resource'] != "" + && (parent['service.name'] != event['service.name'] + || parent['service.environment'] != event['service.environment'] + ) + ) { + def parentDestination = getDestination(parent); + context.externalToServiceMap.put(parentDestination, service); + } + } + } + + def lastLocation = basePath.size() > 0 ? basePath[basePath.size() - 1] : null; + + def currentLocation = service; + + /* only add the current location to the path if it's different from the last one*/ + if (lastLocation == null || !lastLocation.equals(currentLocation)) { + basePath.add(currentLocation); + } + + /* if there is an outgoing span, create a new path */ + if (event['span.destination.service.resource'] != null + && event['span.destination.service.resource'] != '') { + def outgoingLocation = getDestination(event); + def outgoingPath = new ArrayList(basePath); + outgoingPath.add(outgoingLocation); + context.paths.add(outgoingPath); + } + + event.path = basePath; + + context.processedEvents[eventId] = event; + return event; + } + + def context = new HashMap(); + + context.processedEvents = new HashMap(); + context.eventsById = new HashMap(); + + context.paths = new HashSet(); + context.externalToServiceMap = new HashMap(); + context.locationsToRemove = new HashSet(); + + for (state in states) { + context.eventsById.putAll(state); + } + + for (entry in context.eventsById.entrySet()) { + processAndReturnEvent(context, entry.getKey()); + } + + def paths = new HashSet(); + + for(foundPath in context.paths) { + if (!context.locationsToRemove.contains(foundPath)) { + paths.add(foundPath); + } + } + + def response = new HashMap(); + response.paths = paths; + + def discoveredServices = new HashSet(); + + for(entry in context.externalToServiceMap.entrySet()) { + def map = new HashMap(); + map.from = entry.getKey(); + map.to = entry.getValue(); + discoveredServices.add(map); + } + response.discoveredServices = discoveredServices; + + return response;`, + }, + }, + }, + }, + }, + }; + + const serviceMapFromTraceIdsScriptResponse = await client.search( + serviceMapParams + ); + + return serviceMapFromTraceIdsScriptResponse as { + aggregations?: { + service_map: { + value: { + paths: ConnectionNode[][]; + discoveredServices: Array<{ + from: ExternalConnectionNode; + to: ServiceConnectionNode; + }>; + }; + }; + }; + }; +} diff --git a/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.test.ts b/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.test.ts new file mode 100644 index 0000000000000..a3a7e5c995bfe --- /dev/null +++ b/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.test.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { getConnections } from './get_service_map_from_trace_ids'; +import serviceMapFromTraceIdsScriptResponse from './mock_responses/get_service_map_from_trace_ids_script_response.json'; +import { PromiseReturnType } from '../../../typings/common'; +import { fetchServicePathsFromTraceIds } from './fetch_service_paths_from_trace_ids'; + +describe('getConnections', () => { + it('transforms a list of paths into a list of connections filtered by service.name and environment', () => { + const response = serviceMapFromTraceIdsScriptResponse as PromiseReturnType< + typeof fetchServicePathsFromTraceIds + >; + const serviceName = 'opbeans-node'; + const environment = 'production'; + + const connections = getConnections( + response.aggregations?.service_map.value.paths, + serviceName, + environment + ); + + expect(connections).toMatchSnapshot(); + }); +}); diff --git a/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts b/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts index 060e9135daed4..f6e331a09fa65 100644 --- a/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts +++ b/x-pack/plugins/apm/server/lib/service_map/get_service_map_from_trace_ids.ts @@ -5,235 +5,25 @@ */ import { find, uniqBy } from 'lodash'; import { - PROCESSOR_EVENT, SERVICE_ENVIRONMENT, SERVICE_NAME, - TRACE_ID, } from '../../../common/elasticsearch_fieldnames'; import { Connection, ConnectionNode, - ExternalConnectionNode, ServiceConnectionNode, } from '../../../common/service_map'; import { Setup } from '../helpers/setup_request'; - -export async function getServiceMapFromTraceIds({ - setup, - traceIds, - serviceName, - environment, -}: { - setup: Setup; - traceIds: string[]; - serviceName?: string; - environment?: string; -}) { - const { indices, client } = setup; - - const serviceMapParams = { - index: [ - indices['apm_oss.spanIndices'], - indices['apm_oss.transactionIndices'], - ], - body: { - size: 0, - query: { - bool: { - filter: [ - { - terms: { - [PROCESSOR_EVENT]: ['span', 'transaction'], - }, - }, - { - terms: { - [TRACE_ID]: traceIds, - }, - }, - ], - }, - }, - aggs: { - service_map: { - scripted_metric: { - init_script: { - lang: 'painless', - source: `state.eventsById = new HashMap(); - - String[] fieldsToCopy = new String[] { - 'parent.id', - 'service.name', - 'service.environment', - 'span.destination.service.resource', - 'trace.id', - 'processor.event', - 'span.type', - 'span.subtype', - 'agent.name' - }; - state.fieldsToCopy = fieldsToCopy;`, - }, - map_script: { - lang: 'painless', - source: `def id; - if (!doc['span.id'].empty) { - id = doc['span.id'].value; - } else { - id = doc['transaction.id'].value; - } - - def copy = new HashMap(); - copy.id = id; - - for(key in state.fieldsToCopy) { - if (!doc[key].empty) { - copy[key] = doc[key].value; - } - } - - state.eventsById[id] = copy`, - }, - combine_script: { - lang: 'painless', - source: `return state.eventsById;`, - }, - reduce_script: { - lang: 'painless', - source: ` - def getDestination ( def event ) { - def destination = new HashMap(); - destination['span.destination.service.resource'] = event['span.destination.service.resource']; - destination['span.type'] = event['span.type']; - destination['span.subtype'] = event['span.subtype']; - return destination; - } - - def processAndReturnEvent(def context, def eventId) { - if (context.processedEvents[eventId] != null) { - return context.processedEvents[eventId]; - } - - def event = context.eventsById[eventId]; - - if (event == null) { - return null; - } - - def service = new HashMap(); - service['service.name'] = event['service.name']; - service['service.environment'] = event['service.environment']; - service['agent.name'] = event['agent.name']; - - def basePath = new ArrayList(); - - def parentId = event['parent.id']; - def parent; - - if (parentId != null && parentId != event['id']) { - parent = processAndReturnEvent(context, parentId); - if (parent != null) { - /* copy the path from the parent */ - basePath.addAll(parent.path); - /* flag parent path for removal, as it has children */ - context.locationsToRemove.add(parent.path); - - /* if the parent has 'span.destination.service.resource' set, and the service is different, - we've discovered a service */ - - if (parent['span.destination.service.resource'] != null - && parent['span.destination.service.resource'] != "" - && (parent['service.name'] != event['service.name'] - || parent['service.environment'] != event['service.environment'] - ) - ) { - def parentDestination = getDestination(parent); - context.externalToServiceMap.put(parentDestination, service); - } - } - } - - def lastLocation = basePath.size() > 0 ? basePath[basePath.size() - 1] : null; - - def currentLocation = service; - - /* only add the current location to the path if it's different from the last one*/ - if (lastLocation == null || !lastLocation.equals(currentLocation)) { - basePath.add(currentLocation); - } - - /* if there is an outgoing span, create a new path */ - if (event['span.destination.service.resource'] != null - && event['span.destination.service.resource'] != '') { - def outgoingLocation = getDestination(event); - def outgoingPath = new ArrayList(basePath); - outgoingPath.add(outgoingLocation); - context.paths.add(outgoingPath); - } - - event.path = basePath; - - context.processedEvents[eventId] = event; - return event; - } - - def context = new HashMap(); - - context.processedEvents = new HashMap(); - context.eventsById = new HashMap(); - - context.paths = new HashSet(); - context.externalToServiceMap = new HashMap(); - context.locationsToRemove = new HashSet(); - - for (state in states) { - context.eventsById.putAll(state); - } - - for (entry in context.eventsById.entrySet()) { - processAndReturnEvent(context, entry.getKey()); - } - - def paths = new HashSet(); - - for(foundPath in context.paths) { - if (!context.locationsToRemove.contains(foundPath)) { - paths.add(foundPath); - } - } - - def response = new HashMap(); - response.paths = paths; - - def discoveredServices = new HashSet(); - - for(entry in context.externalToServiceMap.entrySet()) { - def map = new HashMap(); - map.from = entry.getKey(); - map.to = entry.getValue(); - discoveredServices.add(map); - } - response.discoveredServices = discoveredServices; - - return response;`, - }, - }, - }, - }, - }, - }; - - const serviceMapResponse = await client.search(serviceMapParams); - - const scriptResponse = serviceMapResponse.aggregations?.service_map.value as { - paths: ConnectionNode[][]; - discoveredServices: Array<{ - from: ExternalConnectionNode; - to: ServiceConnectionNode; - }>; - }; - - let paths = scriptResponse.paths; +import { fetchServicePathsFromTraceIds } from './fetch_service_paths_from_trace_ids'; + +export function getConnections( + paths?: ConnectionNode[][], + serviceName?: string, + environment?: string +) { + if (!paths) { + return []; + } if (serviceName || environment) { paths = paths.filter((path) => { @@ -274,8 +64,34 @@ export async function getServiceMapFromTraceIds({ find(connectionsArr, value) ); + return connections; +} + +export async function getServiceMapFromTraceIds({ + setup, + traceIds, + serviceName, + environment, +}: { + setup: Setup; + traceIds: string[]; + serviceName?: string; + environment?: string; +}) { + const serviceMapFromTraceIdsScriptResponse = await fetchServicePathsFromTraceIds( + setup, + traceIds + ); + + const serviceMapScriptedAggValue = + serviceMapFromTraceIdsScriptResponse.aggregations?.service_map.value; + return { - connections, - discoveredServices: scriptResponse.discoveredServices, + connections: getConnections( + serviceMapScriptedAggValue?.paths, + serviceName, + environment + ), + discoveredServices: serviceMapScriptedAggValue?.discoveredServices ?? [], }; } diff --git a/x-pack/plugins/apm/server/lib/service_map/mock_responses/get_service_map_from_trace_ids_script_response.json b/x-pack/plugins/apm/server/lib/service_map/mock_responses/get_service_map_from_trace_ids_script_response.json new file mode 100644 index 0000000000000..49d8efebbf43b --- /dev/null +++ b/x-pack/plugins/apm/server/lib/service_map/mock_responses/get_service_map_from_trace_ids_script_response.json @@ -0,0 +1,1165 @@ +{ + "took": 43, + "timed_out": false, + "_shards": { "total": 6, "successful": 6, "skipped": 0, "failed": 0 }, + "hits": { + "total": { "value": 465, "relation": "eq" }, + "max_score": null, + "hits": [] + }, + "aggregations": { + "service_map": { + "value": { + "paths": [ + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.6:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-python:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.6:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.7:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.7:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.7:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-python:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "93.184.216.34:80", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-python:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.7:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "redis", + "span.destination.service.resource": "redis", + "span.type": "cache" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-python:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "redis", + "span.destination.service.resource": "redis", + "span.type": "cache" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "postgresql", + "span.destination.service.resource": "postgresql", + "span.type": "db" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "redis", + "span.destination.service.resource": "redis", + "span.type": "cache" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-python:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.6:3000", + "span.type": "external" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "redis", + "span.destination.service.resource": "redis", + "span.type": "cache" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "ext" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "redis", + "span.destination.service.resource": "redis", + "span.type": "cache" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + }, + { + "span.subtype": "redis", + "span.destination.service.resource": "redis", + "span.type": "cache" + } + ], + [ + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + }, + { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + }, + { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + } + ] + ], + "discoveredServices": [ + { + "from": { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "external" + }, + "to": { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + } + }, + { + "from": { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.7:3000", + "span.type": "external" + }, + "to": { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + } + }, + { + "from": { + "span.subtype": "http", + "span.destination.service.resource": "opbeans-ruby:3000", + "span.type": "external" + }, + "to": { + "service.environment": "production", + "service.name": "opbeans-ruby", + "agent.name": "ruby" + } + }, + { + "from": { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-node:3000", + "span.type": "ext" + }, + "to": { + "service.environment": "production", + "service.name": "opbeans-node", + "agent.name": "nodejs" + } + }, + { + "from": { + "span.subtype": "http_rb", + "span.destination.service.resource": "opbeans-python:3000", + "span.type": "ext" + }, + "to": { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + } + }, + { + "from": { + "span.subtype": "http", + "span.destination.service.resource": "172.18.0.6:3000", + "span.type": "external" + }, + "to": { + "service.environment": "production", + "service.name": "opbeans-python", + "agent.name": "python" + } + } + ] + } + } + } +} From dc5085b83bf43003b4a0feb931e4966dc6f6595a Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Sun, 28 Jun 2020 23:55:40 +0100 Subject: [PATCH 17/37] chore(NA): update yarn.lock --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 34dac7938dc66..28a5911015814 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5322,7 +5322,7 @@ "@types/node" "*" "@types/webpack" "*" -"@types/lodash3@npm:@types/lodash@^3.10.1": +"@types/lodash3@npm:@types/lodash@^3.10.1", "@types/lodash@^3.10.1": version "3.10.3" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== @@ -20863,7 +20863,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash3@npm:@elastic/lodash@3.10.1-kibana4": +"lodash3@npm:@elastic/lodash@3.10.1-kibana4", "lodash@npm:@elastic/lodash@3.10.1-kibana4": version "3.10.1-kibana4" resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== From 0f366abf32552290fbab0d84bbc64c657bb29557 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 29 Jun 2020 13:47:00 +0100 Subject: [PATCH 18/37] chore(NA): remove any and use a real type for alerts task runner Co-authored-by: Gidi Meir Morris --- x-pack/plugins/alerts/server/task_runner/task_runner.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/alerts/server/task_runner/task_runner.ts b/x-pack/plugins/alerts/server/task_runner/task_runner.ts index 8c708b4315bf7..1ac0cbdd72153 100644 --- a/x-pack/plugins/alerts/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerts/server/task_runner/task_runner.ts @@ -255,7 +255,7 @@ export class TaskRunner { return { alertTypeState: updatedAlertTypeState || undefined, - alertInstances: mapValues(instancesWithScheduledActions, (alertInstance: any) => + alertInstances: mapValues, RawAlertInstance>(instancesWithScheduledActions, (alertInstance: any) => alertInstance.toRaw() ), }; From 3aad0e1b45bc58962605f0a180176b100b872ea3 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 29 Jun 2020 13:48:35 +0100 Subject: [PATCH 19/37] chore(NA): used named import for triggers_actions_ui file --- .../triggers_actions_ui/public/common/index_controls/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts b/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts index f2867a24e1be6..da332aa326ccf 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/common/index_controls/index.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import _ from 'lodash'; +import { uniq } from 'lodash'; import { HttpSetup } from 'kibana/public'; import { i18n } from '@kbn/i18n'; import { @@ -48,7 +48,7 @@ export const getIndexOptions = async ( }) as string[]; if (matchingIndices.length || matchingIndexPatterns.length) { - const matchingOptions = _.uniq([...matchingIndices, ...matchingIndexPatterns]); + const matchingOptions = uniq([...matchingIndices, ...matchingIndexPatterns]); options.push({ label: i18n.translate( From e0a41df1dca1e2bef08f251b2fa5f860ad93e08f Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 29 Jun 2020 15:27:22 +0100 Subject: [PATCH 20/37] chore(NA): fix eslint --- x-pack/plugins/alerts/server/task_runner/task_runner.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/alerts/server/task_runner/task_runner.ts b/x-pack/plugins/alerts/server/task_runner/task_runner.ts index 1ac0cbdd72153..71f4955e12686 100644 --- a/x-pack/plugins/alerts/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerts/server/task_runner/task_runner.ts @@ -255,8 +255,9 @@ export class TaskRunner { return { alertTypeState: updatedAlertTypeState || undefined, - alertInstances: mapValues, RawAlertInstance>(instancesWithScheduledActions, (alertInstance: any) => - alertInstance.toRaw() + alertInstances: mapValues, RawAlertInstance>( + instancesWithScheduledActions, + (alertInstance: any) => alertInstance.toRaw() ), }; } From 369c024975abeeac10ceabdff2d14d62c33f63ac Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 29 Jun 2020 15:53:55 +0100 Subject: [PATCH 21/37] chore(NA): fix types --- x-pack/plugins/alerts/server/task_runner/task_runner.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/alerts/server/task_runner/task_runner.ts b/x-pack/plugins/alerts/server/task_runner/task_runner.ts index 71f4955e12686..78afeb5d237cb 100644 --- a/x-pack/plugins/alerts/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerts/server/task_runner/task_runner.ts @@ -18,7 +18,6 @@ import { IntervalSchedule, Services, AlertInfoParams, - RawAlertInstance, AlertTaskState, } from '../types'; import { promiseResult, map, Resultable, asOk, asErr, resolveErr } from '../lib/result_type'; @@ -166,7 +165,7 @@ export class TaskRunner { } = this.taskInstance; const namespace = this.context.spaceIdToNamespace(spaceId); - const alertInstances = mapValues( + const alertInstances = mapValues( alertRawInstances, (rawAlertInstance) => new AlertInstance(rawAlertInstance as any) ); @@ -255,9 +254,8 @@ export class TaskRunner { return { alertTypeState: updatedAlertTypeState || undefined, - alertInstances: mapValues, RawAlertInstance>( - instancesWithScheduledActions, - (alertInstance: any) => alertInstance.toRaw() + alertInstances: mapValues(instancesWithScheduledActions, (alertInstance: any) => + alertInstance.toRaw() ), }; } From 8841eef6e614cd47af031549820ad5cbdfc63c27 Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Mon, 29 Jun 2020 12:18:32 -0400 Subject: [PATCH 22/37] Delete most uptime lodash references. --- .../__tests__/integration_group.test.tsx | 91 ++++++++++++++++- .../actions_popover/integration_group.tsx | 29 ++++-- .../framework/new_platform_adapter.tsx | 3 +- .../__tests__/enrich_monitor_groups.test.ts | 98 +++++++++++++++++++ .../requests/search/enrich_monitor_groups.ts | 45 +++++++-- 5 files changed, 249 insertions(+), 17 deletions(-) create mode 100644 x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx index 25cf400bcd0fd..f5c1ccc0c0ae3 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { MonitorSummary } from '../../../../../../common/runtime_types'; import { shallowWithIntl } from 'test_utils/enzyme_helpers'; -import { IntegrationGroup } from '../actions_popover/integration_group'; +import { IntegrationGroup, extractSummaryValues } from '../actions_popover/integration_group'; describe('IntegrationGroup', () => { let summary: MonitorSummary; @@ -38,4 +38,93 @@ describe('IntegrationGroup', () => { const component = shallowWithIntl(); expect(component).toMatchSnapshot(); }); + + describe('extractSummaryValues', () => { + let mockSummary: Pick; + + beforeEach(() => { + mockSummary = { + state: { + timestamp: 'foo', + url: {}, + }, + }; + }); + + it('provides defaults when values are not present', () => { + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds url domain', () => { + mockSummary.state.url.domain = 'mydomain'; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "mydomain", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds pod uid', () => { + mockSummary.state.checks = [ + { kubernetes: { pod: { uid: 'myuid' } }, monitor: { status: 'up' }, timestamp: 123 }, + ]; + + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": undefined, + "podUid": "myuid", + } + `); + }); + + it('does not throw for missing kubernetes fields', () => { + mockSummary.state.checks = []; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds container id', () => { + mockSummary.state.checks = [ + { container: { id: 'mycontainer' }, monitor: { status: 'up' }, timestamp: 123 }, + ]; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": "mycontainer", + "domain": "", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds ip field', () => { + mockSummary.state.checks = [{ monitor: { ip: '127.0.0.1', status: 'up' }, timestamp: 123 }]; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": "127.0.0.1", + "podUid": undefined, + } + `); + }); + }); }); diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx index 6c5aad0f34e06..55a99ab8541f8 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx @@ -7,7 +7,6 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import React, { useContext } from 'react'; import { i18n } from '@kbn/i18n'; -import { get } from 'lodash'; import { FormattedMessage } from '@kbn/i18n/react'; import { IntegrationLink } from './integration_link'; import { @@ -26,6 +25,20 @@ interface IntegrationGroupProps { summary: MonitorSummary; } +export const extractSummaryValues = (summary: Pick) => { + const domain = summary.state.url?.domain ?? ''; + const podUid = summary.state.checks?.[0]?.kubernetes?.pod.uid ?? undefined; + const containerId = summary.state.checks?.[0]?.container?.id ?? undefined; + const ip = summary.state.checks?.[0]?.monitor.ip ?? undefined; + + return { + domain, + podUid, + containerId, + ip, + }; +}; + export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { const { basePath, @@ -36,10 +49,7 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { isLogsAvailable, } = useContext(UptimeSettingsContext); - const domain = get(summary, 'state.url.domain', ''); - const podUid = get(summary, 'state.checks[0].kubernetes.pod.uid', undefined); - const containerId = get(summary, 'state.checks[0].container.id', undefined); - const ip = get(summary, 'state.checks[0].monitor.ip', undefined); + const { domain, podUid, containerId, ip } = extractSummaryValues(summary); return isApmAvailable || isInfraAvailable || isLogsAvailable ? ( @@ -97,7 +107,7 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { { defaultMessage: 'Check Infrastructure UI for the IP "{ip}"', values: { - ip, + ip: Array.isArray(ip) ? ip[0] : ip, }, } )} @@ -184,7 +194,12 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { )} tooltipContent={i18n.translate( 'xpack.uptime.monitorList.loggingIntegrationAction.ip.tooltip', - { defaultMessage: 'Check Logging UI for the IP "{ip}"', values: { ip } } + { + defaultMessage: 'Check Logging UI for the IP "{ip}"', + values: { + ip: Array.isArray(ip) ? ip[0] : ip, + }, + } )} /> diff --git a/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx b/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx index 033f466ad4261..d6185f2c2589a 100644 --- a/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx +++ b/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx @@ -7,7 +7,6 @@ import { CoreStart } from 'src/core/public'; import React from 'react'; import ReactDOM from 'react-dom'; -import { get } from 'lodash'; import { i18n as i18nFormatter } from '@kbn/i18n'; import { UptimeApp, UptimeAppProps } from '../../../uptime_app'; import { getIntegratedAppAvailability } from './capabilities_adapter'; @@ -38,7 +37,7 @@ export const getKibanaFrameworkAdapter = ( INTEGRATED_SOLUTIONS ); - const canSave = get(capabilities, 'uptime.save', false) as boolean; + const canSave = (capabilities.uptime.save ?? false) as boolean; const props: UptimeAppProps = { basePath: basePath.get(), diff --git a/x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts b/x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts new file mode 100644 index 0000000000000..dd7996b68c41f --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts @@ -0,0 +1,98 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { sortChecksBy } from '../enrich_monitor_groups'; + +describe('enrich monitor groups', () => { + describe('sortChecksBy', () => { + it('identifies lesser geo name', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'less' } }, monitor: { status: 'up' } }, + { observer: { geo: { name: 'more' } }, monitor: { status: 'up' } } + ) + ).toBe(-1); + }); + + it('identifies greater geo name', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'more' } }, monitor: { status: 'up' } }, + { observer: { geo: { name: 'less' } }, monitor: { status: 'up' } } + ) + ).toBe(1); + }); + + it('identifies equivalent geo name and sorts by lesser ip', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.2', status: 'up' } } + ) + ).toBe(-1); + }); + + it('identifies equivalent geo name and sorts by greater ip', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.2', status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } } + ) + ).toBe(1); + }); + + it('identifies equivalent geo name and sorts by equivalent ip', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } } + ) + ).toBe(0); + }); + + it('handles equivalent ip arrays', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } } + ) + ).toBe(0); + }); + + it('handles non-equal ip arrays', () => { + expect( + sortChecksBy( + { + observer: { geo: { name: 'same' } }, + monitor: { ip: ['127.0.0.2', '127.0.0.9'], status: 'up' }, + }, + { + observer: { geo: { name: 'same' } }, + monitor: { ip: ['127.0.0.3', '127.0.0.1'], status: 'up' }, + } + ) + ).toBe(1); + }); + + it('handles undefined observer fields', () => { + expect( + sortChecksBy( + { observer: undefined, monitor: { ip: ['127.0.0.1'], status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } } + ) + ).toBe(-1); + }); + + it('handles undefined ip fields', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: undefined, status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } } + ) + ).toBe(-1); + }); + }); +}); diff --git a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts index 52842005857a1..c6032f0da6769 100644 --- a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts +++ b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import { get, sortBy } from 'lodash'; import { QueryContext } from './query_context'; import { Check, @@ -245,17 +244,17 @@ export const enrichMonitorGroups: MonitorEnricher = async ( const items = await queryContext.search(params); - const monitorBuckets = get(items, 'aggregations.monitors.buckets', []); + const monitorBuckets = items?.aggregations?.monitors?.buckets ?? []; const monitorIds: string[] = []; const summaries: MonitorSummary[] = monitorBuckets.map((monitor: any) => { - const monitorId = get(monitor, 'key.monitor_id'); + const monitorId = monitor.key.monitor_id; monitorIds.push(monitorId); const state: any = monitor.state?.value; state.timestamp = state['@timestamp']; const { checks } = state; - if (checks) { - state.checks = sortBy(checks, checksSortBy); + if (Array.isArray(checks)) { + checks.sort(sortChecksBy); state.checks = state.checks.map((check: any) => ({ ...check, timestamp: check['@timestamp'], @@ -276,7 +275,11 @@ export const enrichMonitorGroups: MonitorEnricher = async ( histogram: histogramMap[summary.monitor_id], })); - const sortedResItems: any = sortBy(resItems, 'monitor_id'); + const sortedResItems: any = resItems.sort((a, b) => { + if (a.monitor_id === b.monitor_id) return 0; + return a.monitor_id > b.monitor_id ? 1 : -1; + }); + if (queryContext.pagination.sortOrder === SortOrder.DESC) { sortedResItems.reverse(); } @@ -378,4 +381,32 @@ const cursorDirectionToOrder = (cd: CursorDirection): 'asc' | 'desc' => { return CursorDirection[cd] === CursorDirection.AFTER ? 'asc' : 'desc'; }; -const checksSortBy = (check: Check) => [get(check, 'observer.geo.name'), get(check, 'monitor.ip')]; +export const sortChecksBy = ( + a: Pick, + b: Pick +) => { + const nameA: string = a.observer?.geo?.name ?? ''; + const nameB: string = b.observer?.geo?.name ?? ''; + if (nameA === nameB) { + let ipA: string; + let ipB: string; + if (Array.isArray(a.monitor.ip)) { + a.monitor.ip.sort(); + ipA = a.monitor.ip?.[0] ?? ''; + } else { + ipA = a.monitor.ip ?? ''; + } + if (Array.isArray(b.monitor.ip)) { + b.monitor.ip.sort(); + ipB = b.monitor.ip?.[0] ?? ''; + } else { + ipB = b.monitor.ip ?? ''; + } + + if (ipA === ipB) { + return 0; + } + return ipA > ipB ? 1 : -1; + } + return nameA > nameB ? 1 : -1; +}; From 3ddbbd93cfea00db371acc1067f14e18382424cd Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Mon, 29 Jun 2020 12:46:24 -0400 Subject: [PATCH 23/37] Simplify. Clean up types. --- .../__tests__/integration_group.test.tsx | 4 +++ .../requests/search/enrich_monitor_groups.ts | 25 ++++++++----------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx index f5c1ccc0c0ae3..1c587568fe61d 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx @@ -64,6 +64,7 @@ describe('IntegrationGroup', () => { it('finds url domain', () => { mockSummary.state.url.domain = 'mydomain'; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` Object { "containerId": undefined, @@ -91,6 +92,7 @@ describe('IntegrationGroup', () => { it('does not throw for missing kubernetes fields', () => { mockSummary.state.checks = []; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` Object { "containerId": undefined, @@ -105,6 +107,7 @@ describe('IntegrationGroup', () => { mockSummary.state.checks = [ { container: { id: 'mycontainer' }, monitor: { status: 'up' }, timestamp: 123 }, ]; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` Object { "containerId": "mycontainer", @@ -117,6 +120,7 @@ describe('IntegrationGroup', () => { it('finds ip field', () => { mockSummary.state.checks = [{ monitor: { ip: '127.0.0.1', status: 'up' }, timestamp: 123 }]; + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` Object { "containerId": undefined, diff --git a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts index c6032f0da6769..f5c4c55a4e300 100644 --- a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts +++ b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts @@ -381,27 +381,24 @@ const cursorDirectionToOrder = (cd: CursorDirection): 'asc' | 'desc' => { return CursorDirection[cd] === CursorDirection.AFTER ? 'asc' : 'desc'; }; +const getStringValue = (value: string | Array | null | undefined): string => { + if (Array.isArray(value)) { + value.sort(); + return value[0] ?? ''; + } + return value ?? ''; +}; + export const sortChecksBy = ( a: Pick, b: Pick ) => { const nameA: string = a.observer?.geo?.name ?? ''; const nameB: string = b.observer?.geo?.name ?? ''; + if (nameA === nameB) { - let ipA: string; - let ipB: string; - if (Array.isArray(a.monitor.ip)) { - a.monitor.ip.sort(); - ipA = a.monitor.ip?.[0] ?? ''; - } else { - ipA = a.monitor.ip ?? ''; - } - if (Array.isArray(b.monitor.ip)) { - b.monitor.ip.sort(); - ipB = b.monitor.ip?.[0] ?? ''; - } else { - ipB = b.monitor.ip ?? ''; - } + const ipA = getStringValue(a.monitor.ip); + const ipB = getStringValue(b.monitor.ip); if (ipA === ipB) { return 0; From 567f1e4e9415051ea7004afcba2a3284f79d95aa Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Mon, 29 Jun 2020 13:55:31 -0400 Subject: [PATCH 24/37] [Uptime] Delete most uptime lodash references (#8) * Delete most uptime lodash references. * Simplify. Clean up types. --- .../__tests__/integration_group.test.tsx | 95 +++++++++++++++++- .../actions_popover/integration_group.tsx | 29 ++++-- .../framework/new_platform_adapter.tsx | 3 +- .../__tests__/enrich_monitor_groups.test.ts | 98 +++++++++++++++++++ .../requests/search/enrich_monitor_groups.ts | 42 ++++++-- 5 files changed, 250 insertions(+), 17 deletions(-) create mode 100644 x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx index 25cf400bcd0fd..1c587568fe61d 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/__tests__/integration_group.test.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { MonitorSummary } from '../../../../../../common/runtime_types'; import { shallowWithIntl } from 'test_utils/enzyme_helpers'; -import { IntegrationGroup } from '../actions_popover/integration_group'; +import { IntegrationGroup, extractSummaryValues } from '../actions_popover/integration_group'; describe('IntegrationGroup', () => { let summary: MonitorSummary; @@ -38,4 +38,97 @@ describe('IntegrationGroup', () => { const component = shallowWithIntl(); expect(component).toMatchSnapshot(); }); + + describe('extractSummaryValues', () => { + let mockSummary: Pick; + + beforeEach(() => { + mockSummary = { + state: { + timestamp: 'foo', + url: {}, + }, + }; + }); + + it('provides defaults when values are not present', () => { + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds url domain', () => { + mockSummary.state.url.domain = 'mydomain'; + + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "mydomain", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds pod uid', () => { + mockSummary.state.checks = [ + { kubernetes: { pod: { uid: 'myuid' } }, monitor: { status: 'up' }, timestamp: 123 }, + ]; + + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": undefined, + "podUid": "myuid", + } + `); + }); + + it('does not throw for missing kubernetes fields', () => { + mockSummary.state.checks = []; + + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds container id', () => { + mockSummary.state.checks = [ + { container: { id: 'mycontainer' }, monitor: { status: 'up' }, timestamp: 123 }, + ]; + + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": "mycontainer", + "domain": "", + "ip": undefined, + "podUid": undefined, + } + `); + }); + + it('finds ip field', () => { + mockSummary.state.checks = [{ monitor: { ip: '127.0.0.1', status: 'up' }, timestamp: 123 }]; + + expect(extractSummaryValues(mockSummary)).toMatchInlineSnapshot(` + Object { + "containerId": undefined, + "domain": "", + "ip": "127.0.0.1", + "podUid": undefined, + } + `); + }); + }); }); diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx index 6c5aad0f34e06..55a99ab8541f8 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_drawer/actions_popover/integration_group.tsx @@ -7,7 +7,6 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import React, { useContext } from 'react'; import { i18n } from '@kbn/i18n'; -import { get } from 'lodash'; import { FormattedMessage } from '@kbn/i18n/react'; import { IntegrationLink } from './integration_link'; import { @@ -26,6 +25,20 @@ interface IntegrationGroupProps { summary: MonitorSummary; } +export const extractSummaryValues = (summary: Pick) => { + const domain = summary.state.url?.domain ?? ''; + const podUid = summary.state.checks?.[0]?.kubernetes?.pod.uid ?? undefined; + const containerId = summary.state.checks?.[0]?.container?.id ?? undefined; + const ip = summary.state.checks?.[0]?.monitor.ip ?? undefined; + + return { + domain, + podUid, + containerId, + ip, + }; +}; + export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { const { basePath, @@ -36,10 +49,7 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { isLogsAvailable, } = useContext(UptimeSettingsContext); - const domain = get(summary, 'state.url.domain', ''); - const podUid = get(summary, 'state.checks[0].kubernetes.pod.uid', undefined); - const containerId = get(summary, 'state.checks[0].container.id', undefined); - const ip = get(summary, 'state.checks[0].monitor.ip', undefined); + const { domain, podUid, containerId, ip } = extractSummaryValues(summary); return isApmAvailable || isInfraAvailable || isLogsAvailable ? ( @@ -97,7 +107,7 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { { defaultMessage: 'Check Infrastructure UI for the IP "{ip}"', values: { - ip, + ip: Array.isArray(ip) ? ip[0] : ip, }, } )} @@ -184,7 +194,12 @@ export const IntegrationGroup = ({ summary }: IntegrationGroupProps) => { )} tooltipContent={i18n.translate( 'xpack.uptime.monitorList.loggingIntegrationAction.ip.tooltip', - { defaultMessage: 'Check Logging UI for the IP "{ip}"', values: { ip } } + { + defaultMessage: 'Check Logging UI for the IP "{ip}"', + values: { + ip: Array.isArray(ip) ? ip[0] : ip, + }, + } )} /> diff --git a/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx b/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx index 033f466ad4261..d6185f2c2589a 100644 --- a/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx +++ b/x-pack/plugins/uptime/public/lib/adapters/framework/new_platform_adapter.tsx @@ -7,7 +7,6 @@ import { CoreStart } from 'src/core/public'; import React from 'react'; import ReactDOM from 'react-dom'; -import { get } from 'lodash'; import { i18n as i18nFormatter } from '@kbn/i18n'; import { UptimeApp, UptimeAppProps } from '../../../uptime_app'; import { getIntegratedAppAvailability } from './capabilities_adapter'; @@ -38,7 +37,7 @@ export const getKibanaFrameworkAdapter = ( INTEGRATED_SOLUTIONS ); - const canSave = get(capabilities, 'uptime.save', false) as boolean; + const canSave = (capabilities.uptime.save ?? false) as boolean; const props: UptimeAppProps = { basePath: basePath.get(), diff --git a/x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts b/x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts new file mode 100644 index 0000000000000..dd7996b68c41f --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/requests/search/__tests__/enrich_monitor_groups.test.ts @@ -0,0 +1,98 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { sortChecksBy } from '../enrich_monitor_groups'; + +describe('enrich monitor groups', () => { + describe('sortChecksBy', () => { + it('identifies lesser geo name', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'less' } }, monitor: { status: 'up' } }, + { observer: { geo: { name: 'more' } }, monitor: { status: 'up' } } + ) + ).toBe(-1); + }); + + it('identifies greater geo name', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'more' } }, monitor: { status: 'up' } }, + { observer: { geo: { name: 'less' } }, monitor: { status: 'up' } } + ) + ).toBe(1); + }); + + it('identifies equivalent geo name and sorts by lesser ip', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.2', status: 'up' } } + ) + ).toBe(-1); + }); + + it('identifies equivalent geo name and sorts by greater ip', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.2', status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } } + ) + ).toBe(1); + }); + + it('identifies equivalent geo name and sorts by equivalent ip', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: '127.0.0.1', status: 'up' } } + ) + ).toBe(0); + }); + + it('handles equivalent ip arrays', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } } + ) + ).toBe(0); + }); + + it('handles non-equal ip arrays', () => { + expect( + sortChecksBy( + { + observer: { geo: { name: 'same' } }, + monitor: { ip: ['127.0.0.2', '127.0.0.9'], status: 'up' }, + }, + { + observer: { geo: { name: 'same' } }, + monitor: { ip: ['127.0.0.3', '127.0.0.1'], status: 'up' }, + } + ) + ).toBe(1); + }); + + it('handles undefined observer fields', () => { + expect( + sortChecksBy( + { observer: undefined, monitor: { ip: ['127.0.0.1'], status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } } + ) + ).toBe(-1); + }); + + it('handles undefined ip fields', () => { + expect( + sortChecksBy( + { observer: { geo: { name: 'same' } }, monitor: { ip: undefined, status: 'up' } }, + { observer: { geo: { name: 'same' } }, monitor: { ip: ['127.0.0.1'], status: 'up' } } + ) + ).toBe(-1); + }); + }); +}); diff --git a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts index 52842005857a1..f5c4c55a4e300 100644 --- a/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts +++ b/x-pack/plugins/uptime/server/lib/requests/search/enrich_monitor_groups.ts @@ -4,7 +4,6 @@ * you may not use this file except in compliance with the Elastic License. */ -import { get, sortBy } from 'lodash'; import { QueryContext } from './query_context'; import { Check, @@ -245,17 +244,17 @@ export const enrichMonitorGroups: MonitorEnricher = async ( const items = await queryContext.search(params); - const monitorBuckets = get(items, 'aggregations.monitors.buckets', []); + const monitorBuckets = items?.aggregations?.monitors?.buckets ?? []; const monitorIds: string[] = []; const summaries: MonitorSummary[] = monitorBuckets.map((monitor: any) => { - const monitorId = get(monitor, 'key.monitor_id'); + const monitorId = monitor.key.monitor_id; monitorIds.push(monitorId); const state: any = monitor.state?.value; state.timestamp = state['@timestamp']; const { checks } = state; - if (checks) { - state.checks = sortBy(checks, checksSortBy); + if (Array.isArray(checks)) { + checks.sort(sortChecksBy); state.checks = state.checks.map((check: any) => ({ ...check, timestamp: check['@timestamp'], @@ -276,7 +275,11 @@ export const enrichMonitorGroups: MonitorEnricher = async ( histogram: histogramMap[summary.monitor_id], })); - const sortedResItems: any = sortBy(resItems, 'monitor_id'); + const sortedResItems: any = resItems.sort((a, b) => { + if (a.monitor_id === b.monitor_id) return 0; + return a.monitor_id > b.monitor_id ? 1 : -1; + }); + if (queryContext.pagination.sortOrder === SortOrder.DESC) { sortedResItems.reverse(); } @@ -378,4 +381,29 @@ const cursorDirectionToOrder = (cd: CursorDirection): 'asc' | 'desc' => { return CursorDirection[cd] === CursorDirection.AFTER ? 'asc' : 'desc'; }; -const checksSortBy = (check: Check) => [get(check, 'observer.geo.name'), get(check, 'monitor.ip')]; +const getStringValue = (value: string | Array | null | undefined): string => { + if (Array.isArray(value)) { + value.sort(); + return value[0] ?? ''; + } + return value ?? ''; +}; + +export const sortChecksBy = ( + a: Pick, + b: Pick +) => { + const nameA: string = a.observer?.geo?.name ?? ''; + const nameB: string = b.observer?.geo?.name ?? ''; + + if (nameA === nameB) { + const ipA = getStringValue(a.monitor.ip); + const ipB = getStringValue(b.monitor.ip); + + if (ipA === ipB) { + return 0; + } + return ipA > ipB ? 1 : -1; + } + return nameA > nameB ? 1 : -1; +}; From 57dcad59b8c0e8b79b17eb100a5798a2a3422d78 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 29 Jun 2020 19:48:07 +0100 Subject: [PATCH 25/37] chore(NA): add eslint rule to avoid using lodash3 --- .eslintrc.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.eslintrc.js b/.eslintrc.js index 8d5b4525d51ba..a1c29daa48ee0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1039,5 +1039,25 @@ module.exports = { ...require('eslint-config-prettier/@typescript-eslint').rules, }, }, + + /** + * Lodash@3 to Lodash@4 migration help rule + */ + { + files: ['**/*'], + excludedFiles: ['src/plugins/data/**/*', 'src/plugins/vis_type_vislib/**/*'], + rules: { + '@kbn/eslint/module_migration': [ + 'error', + [ + { + from: 'lodash3', + to: 'lodash', + disallowedMessage: `Don't use 'lodash3', use the new lodash@4 with 'lodash'`, + }, + ], + ], + }, + }, ], }; From aa47a1f22ec65a2da1fdbc412366d9c183d202c0 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 30 Jun 2020 00:57:37 +0100 Subject: [PATCH 26/37] chore(NA): apply changes on feedback from es-ui team --- src/plugins/console/public/lib/kb/api.js | 2 +- .../console/server/services/spec_definitions_service.ts | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/plugins/console/public/lib/kb/api.js b/src/plugins/console/public/lib/kb/api.js index ba387d7e36dfc..0e3b6a345836b 100644 --- a/src/plugins/console/public/lib/kb/api.js +++ b/src/plugins/console/public/lib/kb/api.js @@ -60,7 +60,7 @@ function Api(urlParametrizedComponentFactories, bodyParametrizedComponentFactori cls.addEndpointDescription = function (endpoint, description) { const copiedDescription = {}; - _.assignIn(copiedDescription, description || {}); + _.assign(copiedDescription, description || {}); _.defaults(copiedDescription, { id: endpoint, patterns: [endpoint], diff --git a/src/plugins/console/server/services/spec_definitions_service.ts b/src/plugins/console/server/services/spec_definitions_service.ts index f566d3402cc49..ce990e62a2284 100644 --- a/src/plugins/console/server/services/spec_definitions_service.ts +++ b/src/plugins/console/server/services/spec_definitions_service.ts @@ -55,14 +55,11 @@ export class SpecDefinitionsService { }); if (urlParamsDef) { - description.url_params = _.assignIn( - description.url_params || {}, - copiedDescription.url_params - ); + description.url_params = _.assign(description.url_params || {}, copiedDescription.url_params); _.defaults(description.url_params, urlParamsDef); } - _.assignIn(copiedDescription, description); + _.assign(copiedDescription, description); _.defaults(copiedDescription, { id: endpoint, patterns: [endpoint], From 7c11a067a58842b1c6d2dd88538c8c611f07acf9 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Tue, 30 Jun 2020 16:02:35 +0300 Subject: [PATCH 27/37] fix some types (#9) --- .../public/control/filter_manager/phrase_filter_manager.ts | 2 +- .../components/controls/components/number_list/utils.ts | 2 +- .../public/components/metric_vis_component.tsx | 5 +++-- src/plugins/vis_type_vega/public/vega_fn.ts | 5 +++-- x-pack/plugins/graph/server/routes/explore.ts | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts b/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts index f99a7ebbbbb7e..03ed6c5520dec 100644 --- a/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts +++ b/src/plugins/input_control_vis/public/control/filter_manager/phrase_filter_manager.ts @@ -87,7 +87,7 @@ export class PhraseFilterManager extends FilterManager { // bool filter - multiple phrase filters if (_.has(kbnFilter, 'query.bool.should')) { return _.get(kbnFilter, 'query.bool.should') - .map((kbnQueryFilter: any) => { + .map((kbnQueryFilter: PhraseFilter) => { return this.getValueFromFilter(kbnQueryFilter); }) .filter((value: any) => { diff --git a/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts b/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts index 32e05342da06e..a3998cbd5954b 100644 --- a/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts +++ b/src/plugins/vis_default_editor/public/components/controls/components/number_list/utils.ts @@ -105,7 +105,7 @@ function validateValueUnique( } function getNextModel(list: NumberRowModel[], range: NumberListRange): NumberRowModel { - const lastValue = (last(list) as any).value; + const lastValue = (last(list) as NumberRowModel).value; let next = Number(lastValue) ? Number(lastValue) + 1 : 1; if (next >= range.max) { diff --git a/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx b/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx index f1453b0b2d10a..4385826762612 100644 --- a/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx +++ b/src/plugins/vis_type_metric/public/components/metric_vis_component.tsx @@ -28,6 +28,7 @@ import { getHeatmapColors } from '../../../charts/public'; import { VisParams, MetricVisMetric } from '../types'; import { getFormatService } from '../services'; import { SchemaConfig, ExprVis } from '../../../visualizations/public'; +import { Range } from '../../../expressions/public'; export interface MetricVisComponentProps { visParams: VisParams; @@ -41,7 +42,7 @@ export class MetricVisComponent extends Component { const config = this.props.visParams.metric; const isPercentageMode = config.percentageMode; const colorsRange = config.colorsRange; - const max = (last(colorsRange) as any).to; + const max = (last(colorsRange) as Range).to; const labels: string[] = []; colorsRange.forEach((range: any) => { @@ -111,7 +112,7 @@ export class MetricVisComponent extends Component { const dimensions = this.props.visParams.dimensions; const isPercentageMode = config.percentageMode; const min = config.colorsRange[0].from; - const max = (last(config.colorsRange) as any).to; + const max = (last(config.colorsRange) as Range).to; const colors = this.getColors(); const labels = this.getLabels(); const metrics: MetricVisMetric[] = []; diff --git a/src/plugins/vis_type_vega/public/vega_fn.ts b/src/plugins/vis_type_vega/public/vega_fn.ts index 9823eb414bd5f..6b1af6044a2c4 100644 --- a/src/plugins/vis_type_vega/public/vega_fn.ts +++ b/src/plugins/vis_type_vega/public/vega_fn.ts @@ -22,6 +22,7 @@ import { i18n } from '@kbn/i18n'; import { ExpressionFunctionDefinition, KibanaContext, Render } from '../../expressions/public'; import { VegaVisualizationDependencies } from './plugin'; import { createVegaRequestHandler } from './vega_request_handler'; +import { TimeRange, Query } from '../../data/public'; type Input = KibanaContext | null; type Output = Promise>; @@ -58,8 +59,8 @@ export const createVegaFn = ( const vegaRequestHandler = createVegaRequestHandler(dependencies, context.abortSignal); const response = await vegaRequestHandler({ - timeRange: get(input, 'timeRange') as any, - query: get(input, 'query') as any, + timeRange: get(input, 'timeRange') as TimeRange, + query: get(input, 'query') as Query, filters: get(input, 'filters') as any, visParams: { spec: args.spec }, }); diff --git a/x-pack/plugins/graph/server/routes/explore.ts b/x-pack/plugins/graph/server/routes/explore.ts index 37f9e08a7d1ab..b0b8cf14ff699 100644 --- a/x-pack/plugins/graph/server/routes/explore.ts +++ b/x-pack/plugins/graph/server/routes/explore.ts @@ -59,7 +59,7 @@ export function registerExploreRoute({ error, 'body.error.root_cause', [] as Array<{ type: string; reason: string }> - ).find((cause: any) => { + ).find((cause: { type: string; reason: string }) => { return ( cause.reason.includes('Fielddata is disabled on text fields') || cause.reason.includes('No support for examining floating point') || From 90a88dfe2cd5d68bb0f2710136d64723f94d0f86 Mon Sep 17 00:00:00 2001 From: Luke Elmers Date: Tue, 30 Jun 2020 09:58:55 -0600 Subject: [PATCH 28/37] Clean up some expressions types. --- .../common/expression_functions/specs/kibana_context.ts | 2 +- .../expressions/common/expression_types/specs/datatable.ts | 6 +++--- .../common/expression_types/specs/kibana_datatable.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts b/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts index 70e37d251af6f..2b7d1b8ed9d76 100644 --- a/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts +++ b/src/plugins/expressions/common/expression_functions/specs/kibana_context.ts @@ -42,7 +42,7 @@ const getParsedValue = (data: any, defaultValue: any) => const mergeQueries = (first: Query | Query[] = [], second: Query | Query[]) => uniqBy( [...(Array.isArray(first) ? first : [first]), ...(Array.isArray(second) ? second : [second])], - (n: any) => JSON.stringify(n.query) as any + (n: any) => JSON.stringify(n.query) ); export const kibanaContextFunction: ExpressionFunctionKibanaContext = { diff --git a/src/plugins/expressions/common/expression_types/specs/datatable.ts b/src/plugins/expressions/common/expression_types/specs/datatable.ts index 52cd10678ccf8..5cd53df663e1d 100644 --- a/src/plugins/expressions/common/expression_types/specs/datatable.ts +++ b/src/plugins/expressions/common/expression_types/specs/datatable.ts @@ -20,7 +20,7 @@ import { map, pick, zipObject } from 'lodash'; import { ExpressionTypeDefinition } from '../types'; -import { PointSeries } from './pointseries'; +import { PointSeries, PointSeriesColumn } from './pointseries'; import { ExpressionValueRender } from './render'; const name = 'datatable'; @@ -109,8 +109,8 @@ export const datatable: ExpressionTypeDefinition ({ type: name, rows: value.rows, - columns: map(value.columns, (val: any, colName) => { - return { name: colName!, type: val.type }; + columns: map(value.columns, (val: PointSeriesColumn, colName) => { + return { name: colName, type: val.type }; }), }), }, diff --git a/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts b/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts index 999b3f8375836..e226f3b124eed 100644 --- a/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts +++ b/src/plugins/expressions/common/expression_types/specs/kibana_datatable.ts @@ -19,7 +19,7 @@ import { map } from 'lodash'; import { SerializedFieldFormat } from '../../types/common'; -import { Datatable, PointSeries } from '.'; +import { Datatable, PointSeries, PointSeriesColumn } from '.'; const name = 'kibana_datatable'; @@ -62,7 +62,7 @@ export const kibanaDatatable = { }; }, pointseries: (context: PointSeries) => { - const columns = map(context.columns, (column: any, n) => { + const columns = map(context.columns, (column: PointSeriesColumn, n) => { return { id: n, name: n, ...column }; }); return { From 864755cedf6f1f1f9e088a45a6c6cfbab631c4fc Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 30 Jun 2020 18:04:05 +0100 Subject: [PATCH 29/37] chore(NA): missing ts-expect-error statements --- src/core/utils/deep_freeze.test.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/utils/deep_freeze.test.ts b/src/core/utils/deep_freeze.test.ts index a0a48d219b0dd..48f890160d05d 100644 --- a/src/core/utils/deep_freeze.test.ts +++ b/src/core/utils/deep_freeze.test.ts @@ -59,7 +59,8 @@ it('prevents changing properties on nested children of argument', () => { it('prevents adding items to a frozen array', () => { const frozen = deepFreeze({ foo: [1] }); expect(() => { - // ts-expect-error ts knows this shouldn't be possible, but just making sure + // ts knows this shouldn't be possible, but just making sure + // @ts-expect-error frozen.foo.push(2); }).toThrowError(`object is not extensible`); }); @@ -67,7 +68,8 @@ it('prevents adding items to a frozen array', () => { it('prevents reassigning items in a frozen array', () => { const frozen = deepFreeze({ foo: [1] }); expect(() => { - // ts-expect-error ts knows this shouldn't be possible, but just making sure + // ts knows this shouldn't be possible, but just making sure + // @ts-expect-error frozen.foo[0] = 2; }).toThrowError(`read only property '0'`); }); From ac50d48c0581423c32583f8d2fc63fecc99a5835 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Wed, 1 Jul 2020 16:57:58 +0300 Subject: [PATCH 30/37] Upgrade lodash 4 vislib (#11) * replace lodash 3 with lodash 4 on vislib plugin * Further changes * further replacement of lodash3 to 4 * further work on upgrading to lodash 4 * final changes to update lodash --- .../public/components/options/metrics_axes/index.tsx | 2 +- .../public/components/options/metrics_axes/utils.ts | 4 ++-- .../public/fixtures/mock_data/filters/_columns.js | 2 +- .../public/fixtures/mock_data/filters/_rows.js | 2 +- .../public/fixtures/mock_data/filters/_series.js | 2 +- .../public/fixtures/mock_data/geohash/_columns.js | 2 +- .../public/fixtures/mock_data/geohash/_geo_json.js | 2 +- .../public/fixtures/mock_data/geohash/_rows.js | 2 +- .../public/fixtures/mock_data/histogram/_columns.js | 2 +- .../public/fixtures/mock_data/histogram/_rows.js | 2 +- .../public/fixtures/mock_data/histogram/_series.js | 2 +- .../public/fixtures/mock_data/histogram/_slices.js | 2 +- .../fixtures/mock_data/not_enough_data/_one_point.js | 2 +- .../public/fixtures/mock_data/range/_columns.js | 2 +- .../public/fixtures/mock_data/range/_rows.js | 2 +- .../public/fixtures/mock_data/range/_series.js | 2 +- .../fixtures/mock_data/significant_terms/_columns.js | 2 +- .../fixtures/mock_data/significant_terms/_rows.js | 2 +- .../fixtures/mock_data/significant_terms/_series.js | 2 +- .../public/fixtures/mock_data/terms/_columns.js | 2 +- .../public/fixtures/mock_data/terms/_rows.js | 2 +- .../public/fixtures/mock_data/terms/_series.js | 2 +- .../fixtures/mock_data/terms/_series_multiple.js | 2 +- .../public/vislib/components/labels/data_array.js | 2 +- .../public/vislib/components/labels/flatten_series.js | 4 ++-- .../public/vislib/components/labels/labels.js | 2 +- .../public/vislib/components/labels/labels.test.js | 6 +++--- .../public/vislib/components/labels/uniq_labels.js | 4 ++-- .../public/vislib/components/legend/legend.tsx | 4 ++-- .../public/vislib/components/legend/pie_utils.ts | 6 +++--- .../tooltip/_hierarchical_tooltip_formatter.js | 2 +- .../tooltip/_pointseries_tooltip_formatter.test.js | 2 +- .../vislib/components/tooltip/position_tooltip.js | 6 +++--- .../vislib/components/tooltip/position_tooltip.test.js | 2 +- .../public/vislib/components/tooltip/tooltip.js | 4 ++-- .../vislib/components/zero_injection/flatten_data.js | 6 +++--- .../vislib/components/zero_injection/ordered_x_keys.js | 2 +- .../vislib/components/zero_injection/uniq_keys.js | 2 +- .../components/zero_injection/zero_fill_data_array.js | 2 +- .../components/zero_injection/zero_injection.test.js | 2 +- .../helpers/hierarchical/build_hierarchical_data.ts | 2 +- .../public/vislib/helpers/point_series/_get_series.ts | 4 ++-- .../public/vislib/helpers/point_series/_init_x_axis.ts | 2 +- .../vislib/helpers/point_series/_init_y_axis.test.ts | 2 +- .../helpers/point_series/_ordered_date_axis.test.ts | 2 +- .../vislib/helpers/point_series/point_series.test.ts | 2 +- .../public/vislib/lib/_error_handler.js | 2 +- .../vis_type_vislib/public/vislib/lib/alerts.js | 2 +- .../vis_type_vislib/public/vislib/lib/axis/axis.js | 2 +- .../public/vislib/lib/axis/axis.test.js | 2 +- .../public/vislib/lib/axis/axis_config.js | 2 +- .../public/vislib/lib/axis/axis_scale.js | 2 +- .../public/vislib/lib/axis/axis_title.test.js | 2 +- .../public/vislib/lib/axis/x_axis.test.js | 2 +- .../public/vislib/lib/axis/y_axis.test.js | 2 +- .../vis_type_vislib/public/vislib/lib/chart_grid.js | 2 +- .../vis_type_vislib/public/vislib/lib/chart_title.js | 2 +- src/plugins/vis_type_vislib/public/vislib/lib/data.js | 10 +++++----- .../vis_type_vislib/public/vislib/lib/data.test.js | 2 +- .../vis_type_vislib/public/vislib/lib/dispatch.js | 4 ++-- .../vis_type_vislib/public/vislib/lib/handler.js | 2 +- .../vis_type_vislib/public/vislib/lib/layout/layout.js | 2 +- .../public/vislib/lib/layout/layout_types.test.js | 2 +- .../vislib/lib/layout/types/column_layout.test.js | 2 +- .../vis_type_vislib/public/vislib/lib/types/pie.js | 2 +- .../public/vislib/lib/types/point_series.js | 2 +- .../vis_type_vislib/public/vislib/lib/vis_config.js | 2 +- src/plugins/vis_type_vislib/public/vislib/vis.js | 2 +- .../public/vislib/visualizations/_chart.js | 2 +- .../public/vislib/visualizations/gauges/meter.js | 2 +- .../public/vislib/visualizations/pie_chart.js | 2 +- .../public/vislib/visualizations/point_series.js | 2 +- .../visualizations/point_series/_point_series.js | 2 +- .../vislib/visualizations/point_series/area_chart.js | 2 +- .../vislib/visualizations/point_series/column_chart.js | 2 +- .../visualizations/point_series/heatmap_chart.js | 2 +- .../vislib/visualizations/point_series/line_chart.js | 2 +- .../public/vislib/visualizations/vis_types.test.js | 2 +- 78 files changed, 97 insertions(+), 97 deletions(-) diff --git a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx index 411b93033a81b..d885f8fb0b12f 100644 --- a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx +++ b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx @@ -18,7 +18,7 @@ */ import React, { useState, useEffect, useCallback, useMemo } from 'react'; -import { cloneDeep, uniq, get } from 'lodash3'; +import { cloneDeep, uniq, get } from 'lodash'; import { EuiSpacer } from '@elastic/eui'; import { IAggConfig } from 'src/plugins/data/public'; diff --git a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts index 972d5f6fe2c65..708e8cf15f029 100644 --- a/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts +++ b/src/plugins/vis_type_vislib/public/components/options/metrics_axes/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { capitalize } from 'lodash3'; +import { upperFirst } from 'lodash'; import { BasicVislibParams, ValueAxis, SeriesParam } from '../../../types'; import { ChartModes, ChartTypes, InterpolationModes, Positions } from '../../../utils/collections'; @@ -67,7 +67,7 @@ const getUpdatedAxisName = ( axisPosition: ValueAxis['position'], valueAxes: BasicVislibParams['valueAxes'] ) => { - const axisName = capitalize(axisPosition) + AXIS_PREFIX; + const axisName = upperFirst(axisPosition) + AXIS_PREFIX; const nextAxisNameNumber = valueAxes.reduce(countNextAxisNumber(axisName, 'name'), 1); return `${axisName}${nextAxisNameNumber}`; diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js index a07b2915f9abb..cc131a0a5bc12 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js index 6dffcebd85ba2..04fd9f19d742a 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js index 83d45d103a63c..e016011ae5392 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/filters/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js index b428c50749b43..c1044160c0e7a 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js index 5ec4b903e0bf5..a26dc9bd8b181 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_geo_json.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { valueFormatter: _.identity, diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js index 7320c0df00c90..ca4cb2a7feee1 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/geohash/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js index 14c6d1bc9a464..7506784099d12 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js index 273a06764ae18..1482118587dc7 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js index 9b2318db2ddfa..c7f4b473ef7cb 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js index 1614f950e6414..6993016f84d02 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/histogram/_slices.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js index d3c2a32c6fc09..c8aefa5a62ba5 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/not_enough_data/_one_point.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js index d35aae084dcac..2deddb513e610 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js index eda74650facbe..fea0e822f19c8 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js index 563c291b2f954..1a19c8c108323 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/range/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js index 4635b24e09cd2..37d4d90be6c83 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js index 61368ca4edbab..63ef1df5d259e 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js index a5b2082f78771..94caddafc3185 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/significant_terms/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js index eeb9127752359..a2720ee1321ba 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_columns.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { columns: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js index 9bc6b398bb0eb..501418d6f5bdf 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_rows.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { rows: [ diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js index 871fbfd202694..21885f87e4912 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { label: '', diff --git a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js index 8c8dcca06a677..460ade3cd9308 100644 --- a/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js +++ b/src/plugins/vis_type_vislib/public/fixtures/mock_data/terms/_series_multiple.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export default { xAxisOrderedValues: ['_all'], diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js index 2ed9180476fe1..721391699e4f3 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/data_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { flattenSeries } from './flatten_series'; /* diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js index 877685af5d3b5..4d4660371eaa4 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/flatten_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; /* * Accepts a Kibana data object with a rows or columns key @@ -30,5 +30,5 @@ export function flattenSeries(obj) { obj = obj.rows ? obj.rows : obj.columns; - return _.chain(obj).pluck('series').flattenDeep().value(); + return _.chain(obj).map('series').flattenDeep().value(); } diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js index 494e59472064c..c3ed1bd0840c5 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { dataArray as createArr } from './data_array'; import { uniqLabels as getArrOfUniqLabels } from './uniq_labels'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js index 16b248de697e5..f04d9d17eeccb 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/labels.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { labels } from './labels'; import { dataArray } from './data_array'; @@ -166,9 +166,9 @@ describe('Vislib Labels Module Test Suite', function () { seriesArr = Array.isArray(seriesLabels); rowsArr = Array.isArray(rowsLabels); uniqSeriesLabels = _.chain(rowsData.rows) - .pluck('series') + .map('series') .flattenDeep() - .pluck('label') + .map('label') .uniq() .value(); }); diff --git a/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js b/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js index f1eb45c5fba53..cf98425c04ce7 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/labels/uniq_labels.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; /* * Accepts an array of data objects and a formatter function. @@ -28,5 +28,5 @@ export function uniqLabels(arr) { throw new TypeError('UniqLabelUtil expects an array of objects'); } - return _(arr).pluck('label').unique().value(); + return _(arr).map('label').uniq().value(); } diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx index f8abdd17409d4..f7e44ed278787 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.tsx @@ -18,7 +18,7 @@ */ import React, { BaseSyntheticEvent, KeyboardEvent, PureComponent } from 'react'; import classNames from 'classnames'; -import { compact, uniq, map, every, isUndefined } from 'lodash3'; +import { compact, uniqBy, map, every, isUndefined } from 'lodash'; import { i18n } from '@kbn/i18n'; import { EuiPopoverProps, EuiIcon, keyCodes, htmlIdGenerator } from '@elastic/eui'; @@ -119,7 +119,7 @@ export class VisLegend extends PureComponent { getSeriesLabels = (data: any[]) => { const values = data.map((chart) => chart.series).reduce((a, b) => a.concat(b), []); - return compact(uniq(values, 'label')).map((label: any) => ({ + return compact(uniqBy(values, 'label')).map((label: any) => ({ ...label, values: [label.values[0].seriesRaw], })); diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts b/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts index a5968913f7b77..da046af83a495 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/pie_utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; /** * Returns an array of names ordered by appearance in the nested array @@ -39,7 +39,7 @@ export function getPieNames(data: any[]): string[] { }); }); - return _.uniq(names, 'label'); + return _.uniqBy(names, 'label'); } /** @@ -61,7 +61,7 @@ function getNames(data: any, columns: any): string[] { .sortBy(function (obj) { return obj.index; }) - .unique(function (d) { + .uniqBy(function (d) { return d.label; }) .value(); diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js index bf29491e840e5..d2cf81a1410c6 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_hierarchical_tooltip_formatter.js @@ -18,7 +18,7 @@ */ import React from 'react'; -import _ from 'lodash3'; +import _ from 'lodash'; import numeral from '@elastic/numeral'; import { renderToStaticMarkup } from 'react-dom/server'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js index 7306bf66d09d6..c01e32abb8dcb 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/_pointseries_tooltip_formatter.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { pointSeriesTooltipFormatter } from './_pointseries_tooltip_formatter'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js index 7d35a4a0f008d..5324dc5318be5 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; const OFFSET = 10; @@ -110,7 +110,7 @@ function getOverflow(size, pos, containers) { } function mergeOverflows(dest, src) { - _.merge(dest, src, function (a, b) { + _.mergeWith(dest, src, function (a, b) { if (a == null || b == null) return a || b; if (a < 0 && b < 0) return Math.min(a, b); return Math.max(a, b); @@ -131,7 +131,7 @@ function pickPlacement(prop, pos, overflow, prev, pref, fallback, placement) { const stash = '_' + prop; // list of directions in order of preference - const dirs = _.unique([prev[stash], pref, fallback].filter(Boolean)); + const dirs = _.uniq([prev[stash], pref, fallback].filter(Boolean)); let dir; let value; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js index 443c687203204..85954aa9393e3 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/position_tooltip.test.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash3'; +import _ from 'lodash'; import sinon from 'sinon'; import { positionTooltip } from './position_tooltip'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js index 9837915bd520e..bafc3199de896 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/tooltip/tooltip.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { Binder } from '../../lib/binder'; @@ -218,7 +218,7 @@ Tooltip.prototype.render = function () { if (html) allContents.push({ id, html, order }); - const allHtml = _(allContents).sortBy('order').pluck('html').compact().join('\n'); + const allHtml = _(allContents).sortBy('order').map('html').compact().join('\n'); if (allHtml) { $tooltip.html(allHtml); diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js index c205682d5a30a..8b7a44d95bb3b 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/flatten_data.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; /* * Accepts a Kibana data object, flattens the data.series values array, @@ -35,9 +35,9 @@ export function flattenData(obj) { } return _(charts ? charts : [obj]) - .pluck('series') + .map('series') .flattenDeep() - .pluck('values') + .map('values') .flattenDeep() .filter(Boolean) .value(); diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js index 23c2a24cef2c1..e9f75e64c1d3d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/ordered_x_keys.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import moment from 'moment'; import { getUniqKeys } from './uniq_keys'; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js index c8d2e1aa58918..8854fb13e4e90 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/uniq_keys.js @@ -17,7 +17,7 @@ * under the License. */ -import { isObject, isNumber } from 'lodash3'; +import { isObject, isNumber } from 'lodash'; import { flattenData } from './flatten_data'; /* diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js index 7807e512978ee..90c8f6ca052fb 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_fill_data_array.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; /* * Accepts an array of zero-filled y value objects (arr1) diff --git a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js index f3ac04cd589d9..23096b164b452 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/components/zero_injection/zero_injection.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { injectZeros } from './inject_zeros'; import { orderXValues } from './ordered_x_keys'; import { getUniqKeys } from './uniq_keys'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts index bbd4b185b3744..3bc8fa0f035b6 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/hierarchical/build_hierarchical_data.ts @@ -17,7 +17,7 @@ * under the License. */ -import { toArray } from 'lodash3'; +import { toArray } from 'lodash'; import { SerializedFieldFormat } from '../../../../../expressions/common/types'; import { getFormatService } from '../../../services'; import { Table } from '../../types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts index d3ee0274c519a..8a1f80df9f4db 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_get_series.ts @@ -17,7 +17,7 @@ * under the License. */ -import { partial } from 'lodash3'; +import { partial } from 'lodash'; import { getPoint } from './_get_point'; import { addToSiri, Serie } from './_add_to_siri'; import { Chart } from './point_series'; @@ -71,7 +71,7 @@ export function getSeries(table: Table, chart: Chart) { seriesLabel = prefix + seriesLabel; } - (point.seriesId as any) = seriesId; + (point.seriesId as string | number) = seriesId; addToSiri( seriesMap, point, diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts index d58a3704ef7a2..32536960c59cd 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_x_axis.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash3'; +import { uniq } from 'lodash'; import moment from 'moment'; import { Chart } from './point_series'; import { Table } from '../../types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts index 371e2622c827b..fa22ae570f38d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_init_y_axis.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { initYAxis } from './_init_y_axis'; import { Chart } from './point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts index d70f0bac8191e..b2e4d6e4b40c9 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/_ordered_date_axis.test.ts @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import _ from 'lodash3'; +import _ from 'lodash'; import { orderedDateAxis } from './_ordered_date_axis'; import { DateHistogramParams, OrderedChart } from './point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts index 7f320fa86912b..2a5ab197c9ab7 100644 --- a/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts +++ b/src/plugins/vis_type_vislib/public/vislib/helpers/point_series/point_series.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { buildPointSeriesData, Dimensions } from './point_series'; import { Table, Column } from '../../types'; import { setFormatService } from '../../../services'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js b/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js index f616c25aee4c3..1d1f912c64cba 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/_error_handler.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { ContainerTooSmall } from '../errors'; /** diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js b/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js index 1b14f3f17bc8c..b0d5e758c7d42 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/alerts.js @@ -18,7 +18,7 @@ */ import $ from 'jquery'; -import _ from 'lodash3'; +import _ from 'lodash'; /** * Adds alerts that float in front of a visualization diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js index 49342b0c6fd61..cbd42d281b286 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { ErrorHandler } from '../_error_handler'; import { AxisTitle } from './axis_title'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js index 8cb00583c46d2..320d9b541de2a 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { Axis } from './axis'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js index 8bbb9438a0640..faf270877217b 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_config.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import d3 from 'd3'; import { SCALE_MODES } from './scale_modes'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js index e7affb349bea0..a24ba908e177f 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_scale.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import moment from 'moment'; import { InvalidLogScaleValues } from '../../errors'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js index 3106cc0e0e334..c43f66d0ac34d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/axis_title.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { AxisTitle } from './axis_title'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js index 032995a0323af..3127bcf17ed07 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/x_axis.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { Axis } from './axis'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js index 94b6a1d5b5ffa..4d237669ff849 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/axis/y_axis.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import d3 from 'd3'; import $ from 'jquery'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js b/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js index 7b9acecc7d390..aac019a98e790 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/chart_grid.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; const defaults = { style: { diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js b/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js index f1aa4c46973da..a281cea38bada 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/chart_title.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import { ErrorHandler } from './_error_handler'; import { Tooltip } from '../components/tooltip'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/data.js b/src/plugins/vis_type_vislib/public/vislib/lib/data.js index e735e22d3ff7c..3633063966e17 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/data.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/data.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import { injectZeros } from '../components/zero_injection/inject_zeros'; import { orderXValues } from '../components/zero_injection/ordered_x_keys'; @@ -248,7 +248,7 @@ export class Data { const visData = this.getVisData(); return _.reduce( - _.pluck(visData, 'geoJson.properties'), + _.map(visData, 'geoJson.properties'), function (minMax, props) { return { min: Math.min(props.min, minMax.min), @@ -312,7 +312,7 @@ export class Data { * @returns {Array} Value objects */ flatten() { - return _(this.chartData()).pluck('series').flattenDeep().pluck('values').flattenDeep().value(); + return _(this.chartData()).map('series').flattenDeep().map('values').flattenDeep().value(); } /** @@ -383,7 +383,7 @@ export class Data { .sortBy(function (obj) { return obj.index; }) - .unique(function (d) { + .uniqBy(function (d) { return d.label; }) .value(); @@ -452,7 +452,7 @@ export class Data { }); }); - return _.uniq(names, 'label'); + return _.uniqBy(names, 'label'); } /** diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js index a990f728805d9..82bb472f1696d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/data.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { Data } from './data'; import { getMockUiState } from '../../fixtures/mocks'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js b/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js index 7f6609f942a9d..4c50472b9d11a 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/dispatch.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import { get, pull, restParam, size, reduce } from 'lodash3'; +import { get, pull, rest, size, reduce } from 'lodash'; import $ from 'jquery'; import { DIMMING_OPACITY_SETTING } from '../../../common'; @@ -97,7 +97,7 @@ export class Dispatch { * @param {*} [arg...] - any number of arguments that will be applied to each handler * @return {Dispatch} - this, for chaining */ - emit = restParam(function (name, args) { + emit = rest(function (name, args) { if (!this._listeners[name]) { return this; } diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/handler.js b/src/plugins/vis_type_vislib/public/vislib/lib/handler.js index cf049fcb0c438..3c1aeaa0d1d0d 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/handler.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/handler.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import MarkdownIt from 'markdown-it'; import { NoResults } from '../errors'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js index 5a98f7b8fed7f..a5f4907f46273 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { layoutTypes } from './layout_types'; import { Axis } from '../axis'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js index 49eb0cac943ed..8b727ea3aa5fe 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/layout/layout_types.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { layoutTypes as layoutType } from './layout_types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js b/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js index 3a5f0705516e3..f6ee5d13badf2 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/layout/types/column_layout.test.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import { layoutTypes } from '../layout_types'; diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js b/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js index c6f2f87676c5b..af500c7185a3a 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/types/pie.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export function vislibPieConfig(config) { if (!config.chart) { diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js b/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js index dcfb766821083..438c071d74532 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/types/point_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; function getSeriId(seri) { diff --git a/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js b/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js index 248f68b78cac1..0354724703208 100644 --- a/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js +++ b/src/plugins/vis_type_vislib/public/vislib/lib/vis_config.js @@ -20,7 +20,7 @@ /** * Provides vislib configuration, throws error if invalid property is accessed without providing defaults */ -import _ from 'lodash3'; +import _ from 'lodash'; import { vislibTypesConfig as visTypes } from './types'; import { Data } from './data'; diff --git a/src/plugins/vis_type_vislib/public/vislib/vis.js b/src/plugins/vis_type_vislib/public/vislib/vis.js index a701c6faa5240..f258cb55ba281 100644 --- a/src/plugins/vis_type_vislib/public/vislib/vis.js +++ b/src/plugins/vis_type_vislib/public/vislib/vis.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import d3 from 'd3'; import { EventEmitter } from 'events'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js index bfa845e799655..5ed6d3eb79f4b 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import { dataLabel } from '../lib/_data_label'; import { Dispatch } from '../lib/dispatch'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js index 0ad7bbce15304..a252002534775 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/gauges/meter.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import { getHeatmapColors } from '../../../../../charts/public'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js index aff44c9fdf2d3..938d3d0ec6d74 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/pie_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import numeral from '@elastic/numeral'; import { PieContainsAllZeros, ContainerTooSmall } from '../errors'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js index 4a52912bdf8a8..9a25d041f6567 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { Tooltip } from '../components/tooltip'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js index 482952c4d3b6c..1b084e4142445 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/_point_series.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { euiPaletteColorBlind } from '@elastic/eui/lib/services'; const thresholdLineDefaults = { diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js index 90b1aef9627de..e3e2d31ecd4f4 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/area_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import $ from 'jquery'; import { PointSeries } from './_point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js index 3ab838974121e..cc64e0d746fbf 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/column_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import d3 from 'd3'; import { isColorDark } from '@elastic/eui/lib/services'; import { PointSeries } from './_point_series'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js index 385dfd3d6b9f5..4564721464767 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/heatmap_chart.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import moment from 'moment'; import { isColorDark } from '@elastic/eui'; diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js index 0bb7d5241ce35..64fbae7d1ac8c 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/point_series/line_chart.js @@ -18,7 +18,7 @@ */ import d3 from 'd3'; -import _ from 'lodash3'; +import _ from 'lodash'; import { PointSeries } from './_point_series'; const defaults = { diff --git a/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js b/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js index 165507e809967..a6f2404169f62 100644 --- a/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js +++ b/src/plugins/vis_type_vislib/public/vislib/visualizations/vis_types.test.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { visTypes } from './vis_types'; From a265153e873e2bfd18f68db238f7e6f843a59ddf Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 1 Jul 2020 19:26:18 +0100 Subject: [PATCH 31/37] chore(NA): upgrade data plugin to lodash4 chore(NA): upgrade data plugin public to lodash4 chore(NA): fix typecheck task chore(NA): fix agg_config with hasIn chore(NA): assign to assignIn and has to hasIn chore(NA): upgrade data plugin server to lodash4 chore(NA): new signature for core api fix(NA): match behaviour between lodash3 and lodash4 for set in search_source --- ...-plugins-data-public.fieldformat.tojson.md | 8 ++++---- .../es_query/es_query/build_es_query.ts | 2 +- .../es_query/es_query/decorate_query.ts | 2 +- .../common/es_query/es_query/es_query_dsl.ts | 2 +- .../common/es_query/es_query/from_filters.ts | 2 +- .../es_query/get_es_query_config.test.ts | 2 +- .../es_query/es_query/lucene_string_to_dsl.ts | 2 +- .../es_query/es_query/migrate_filter.test.ts | 4 ++-- .../es_query/es_query/migrate_filter.ts | 2 +- .../es_query/filters/get_display_value.ts | 2 +- .../data/common/es_query/filters/index.ts | 4 ++-- .../common/es_query/filters/phrase_filter.ts | 2 +- .../es_query/filters/range_filter.test.ts | 2 +- .../common/es_query/filters/range_filter.ts | 6 +++--- .../common/es_query/kuery/functions/exists.ts | 2 +- .../kuery/functions/geo_bounding_box.test.ts | 2 +- .../kuery/functions/geo_bounding_box.ts | 2 +- .../common/es_query/kuery/functions/is.ts | 6 +++--- .../es_query/kuery/functions/range.test.ts | 2 +- .../common/es_query/kuery/functions/range.ts | 2 +- .../es_query/kuery/kuery_syntax_error.ts | 2 +- .../es_query/kuery/node_types/function.ts | 2 +- .../es_query/kuery/node_types/named_arg.ts | 2 +- .../content_types/html_content_type.ts | 2 +- .../content_types/text_content_type.ts | 2 +- .../common/field_formats/converters/color.ts | 2 +- .../field_formats/converters/date_nanos.ts | 2 +- .../common/field_formats/converters/source.ts | 2 +- .../field_formats/converters/truncate.ts | 4 ++-- .../common/field_formats/converters/url.ts | 2 +- .../common/field_formats/field_format.test.ts | 6 +++--- .../data/common/field_formats/field_format.ts | 4 ++-- .../field_formats/field_formats_registry.ts | 4 ++-- .../data/common/field_formats/mocks.ts | 2 +- .../utils/highlight/highlight_html.ts | 2 +- .../common/field_mapping/mapping_setup.ts | 4 ++-- .../index_patterns/fields/field_list.ts | 2 +- .../index_patterns/fields/obj_define.js | 2 +- .../ensure_default_index_pattern.ts | 4 ++-- .../index_patterns/flatten_hit.ts | 4 ++-- .../index_patterns/format_hit.ts | 2 +- .../index_patterns/index_pattern.test.ts | 10 +++++----- .../index_patterns/index_pattern.ts | 10 +++++----- .../lib/get_from_saved_object.ts | 2 +- .../data/common/index_patterns/utils.ts | 2 +- .../query/filter_manager/compare_filters.ts | 4 ++-- .../query/filter_manager/dedup_filters.ts | 2 +- .../query/filter_manager/uniq_filters.ts | 2 +- .../date_interval_utils/parse_interval.ts | 2 +- .../create_filters_from_range_select.ts | 2 +- .../providers/value_suggestion_provider.ts | 2 +- .../public/field_formats/converters/date.ts | 2 +- .../public/field_formats/utils/deserialize.ts | 2 +- .../saved_objects_client_wrapper.ts | 13 ++++++------- src/plugins/data/public/public.api.md | 6 +++--- .../filter_manager/filter_manager.test.ts | 2 +- .../query/filter_manager/filter_manager.ts | 4 ++-- .../filter_manager/lib/generate_filters.ts | 4 ++-- .../lib/map_and_flatten_filters.ts | 2 +- .../query/filter_manager/lib/map_filter.ts | 2 +- .../filter_manager/lib/mappers/map_default.ts | 2 +- .../filter_manager/lib/mappers/map_exists.ts | 2 +- .../filter_manager/lib/mappers/map_phrase.ts | 2 +- .../filter_manager/lib/mappers/map_range.ts | 6 +++--- .../query/filter_manager/lib/only_disabled.ts | 2 +- .../data/public/query/lib/from_user.ts | 2 +- .../query/persisted_log/persisted_log.ts | 2 +- .../state_sync/connect_to_query_state.ts | 2 +- .../timefilter/lib/change_time_filter.ts | 2 +- .../timefilter/lib/diff_time_picker_vals.ts | 2 +- .../timefilter/lib/extract_time_filter.ts | 2 +- .../public/query/timefilter/timefilter.ts | 2 +- .../public/search/aggs/agg_config.test.ts | 2 +- .../data/public/search/aggs/agg_config.ts | 18 +++++++----------- .../public/search/aggs/agg_configs.test.ts | 8 ++++---- .../data/public/search/aggs/agg_configs.ts | 2 +- .../data/public/search/aggs/agg_type.ts | 2 +- .../buckets/_terms_other_bucket_helper.ts | 2 +- .../aggs/buckets/create_filter/filters.ts | 2 +- .../search/aggs/buckets/date_histogram.ts | 2 +- .../public/search/aggs/buckets/date_range.ts | 2 +- .../public/search/aggs/buckets/filters.ts | 4 ++-- .../public/search/aggs/buckets/geo_tile.ts | 2 +- .../public/search/aggs/buckets/histogram.ts | 2 +- .../public/search/aggs/buckets/ip_range.ts | 4 ++-- .../buckets/lib/time_buckets/time_buckets.ts | 4 ++-- .../buckets/migrate_include_exclude_format.ts | 4 ++-- .../data/public/search/aggs/buckets/terms.ts | 2 +- .../public/search/aggs/metrics/bucket_avg.ts | 2 +- .../lib/get_response_agg_config_class.ts | 4 ++-- .../aggs/metrics/lib/make_nested_label.ts | 2 +- .../aggs/metrics/lib/ordinal_suffix.test.ts | 2 +- .../metrics/lib/parent_pipeline_agg_helper.ts | 2 +- .../aggs/metrics/percentiles_get_value.ts | 2 +- .../search/aggs/metrics/std_deviation.ts | 4 ++-- .../search/aggs/metrics/top_hit.test.ts | 2 +- .../public/search/aggs/metrics/top_hit.ts | 2 +- .../public/search/aggs/param_types/json.ts | 4 ++-- .../aggs/test_helpers/function_wrapper.ts | 2 +- .../aggs/utils/get_format_with_aggs.test.ts | 2 +- .../public/search/aggs/utils/prop_filter.ts | 2 +- .../build_tabular_inspector_data.ts | 2 +- .../data/public/search/expressions/esaggs.ts | 6 +++--- .../search/search_source/search_source.ts | 19 ++++++++++++++++--- .../data/public/search/tabify/buckets.ts | 2 +- .../data/public/search/tabify/get_columns.ts | 2 +- .../public/search/tabify/response_writer.ts | 2 +- .../data/public/search/tabify/tabify.ts | 2 +- .../ui/filter_bar/filter_editor/index.tsx | 2 +- .../filter_editor/phrase_suggestor.tsx | 2 +- .../filter_editor/phrase_value_input.tsx | 2 +- .../filter_editor/phrases_values_input.tsx | 2 +- .../filter_editor/range_value_input.tsx | 2 +- .../filter_editor/value_input_type.tsx | 2 +- .../index_pattern_select.tsx | 2 +- .../fetch_index_patterns.ts | 2 +- .../query_string_input.test.mocks.ts | 6 +++--- .../query_string_input/query_string_input.tsx | 2 +- .../ui/saved_query_form/save_query_form.tsx | 2 +- .../saved_query_management_component.tsx | 2 +- .../ui/search_bar/create_search_bar.tsx | 2 +- .../data/public/ui/search_bar/search_bar.tsx | 4 ++-- .../ui/typeahead/suggestions_component.tsx | 2 +- .../autocomplete/value_suggestions_route.ts | 2 +- .../field_formats/converters/date_server.ts | 2 +- .../field_formats/field_formats_service.ts | 2 +- .../index_patterns/fetcher/lib/errors.ts | 2 +- .../field_capabilities.test.js | 2 +- .../field_capabilities/field_capabilities.ts | 4 ++-- .../field_caps_response.test.js | 2 +- .../field_capabilities/field_caps_response.ts | 2 +- .../lib/field_capabilities/overrides.ts | 2 +- .../fetcher/lib/resolve_time_pattern.test.js | 2 +- .../fetcher/lib/resolve_time_pattern.ts | 6 +++--- .../kql_telemetry/usage_collector/fetch.ts | 2 +- .../saved_objects/index_pattern_migrations.ts | 6 +++--- .../server/saved_objects/index_patterns.ts | 2 +- .../data/server/saved_objects/search.ts | 2 +- .../server/saved_objects/search_migrations.ts | 10 +++++----- 139 files changed, 221 insertions(+), 213 deletions(-) diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md index 6ecdedb6413ff..48ec9456c56dd 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformat.tojson.md @@ -12,14 +12,14 @@ Serialize this format to a simple POJO, with only the params that are not defaul ```typescript toJSON(): { - id: unknown; - params: import("lodash3").Dictionary | undefined; + id: any; + params: any; }; ``` Returns: `{ - id: unknown; - params: import("lodash3").Dictionary | undefined; + id: any; + params: any; }` diff --git a/src/plugins/data/common/es_query/es_query/build_es_query.ts b/src/plugins/data/common/es_query/es_query/build_es_query.ts index f8b74f1981e57..66d44f5e0747f 100644 --- a/src/plugins/data/common/es_query/es_query/build_es_query.ts +++ b/src/plugins/data/common/es_query/es_query/build_es_query.ts @@ -17,7 +17,7 @@ * under the License. */ -import { groupBy, has } from 'lodash3'; +import { groupBy, has } from 'lodash'; import { buildQueryFromKuery } from './from_kuery'; import { buildQueryFromFilters } from './from_filters'; import { buildQueryFromLucene } from './from_lucene'; diff --git a/src/plugins/data/common/es_query/es_query/decorate_query.ts b/src/plugins/data/common/es_query/es_query/decorate_query.ts index 828e7b0bcd990..891712d057886 100644 --- a/src/plugins/data/common/es_query/es_query/decorate_query.ts +++ b/src/plugins/data/common/es_query/es_query/decorate_query.ts @@ -17,7 +17,7 @@ * under the License. */ -import { extend, defaults } from 'lodash3'; +import { extend, defaults } from 'lodash'; import { getTimeZoneFromSettings } from '../utils'; import { DslQuery, isEsQueryString } from './es_query_dsl'; diff --git a/src/plugins/data/common/es_query/es_query/es_query_dsl.ts b/src/plugins/data/common/es_query/es_query/es_query_dsl.ts index 02dccfa426326..d906ae5359ec2 100644 --- a/src/plugins/data/common/es_query/es_query/es_query_dsl.ts +++ b/src/plugins/data/common/es_query/es_query/es_query_dsl.ts @@ -17,7 +17,7 @@ * under the License. */ -import { has } from 'lodash3'; +import { has } from 'lodash'; export interface DslRangeQuery { range: { diff --git a/src/plugins/data/common/es_query/es_query/from_filters.ts b/src/plugins/data/common/es_query/es_query/from_filters.ts index af93ec5484fe3..d2d52efedd085 100644 --- a/src/plugins/data/common/es_query/es_query/from_filters.ts +++ b/src/plugins/data/common/es_query/es_query/from_filters.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isUndefined } from 'lodash3'; +import { isUndefined } from 'lodash'; import { migrateFilter } from './migrate_filter'; import { filterMatchesIndex } from './filter_matches_index'; import { Filter, cleanFilter, isFilterDisabled } from '../filters'; diff --git a/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts b/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts index 69ddfb88cbc9a..5fa3c67dea400 100644 --- a/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts +++ b/src/plugins/data/common/es_query/es_query/get_es_query_config.test.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { getEsQueryConfig } from './get_es_query_config'; import { IUiSettingsClient } from 'kibana/public'; import { UI_SETTINGS } from '../../'; diff --git a/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts b/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts index 6b5b47f6a063b..6e8d519ec0ce2 100644 --- a/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts +++ b/src/plugins/data/common/es_query/es_query/lucene_string_to_dsl.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString } from 'lodash3'; +import { isString } from 'lodash'; import { DslQuery } from './es_query_dsl'; export function luceneStringToDsl(query: string | any): DslQuery { diff --git a/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts b/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts index 41f48d9b94664..261977b859659 100644 --- a/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts +++ b/src/plugins/data/common/es_query/es_query/migrate_filter.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isEqual, clone } from 'lodash3'; +import { isEqual, cloneDeep } from 'lodash'; import { migrateFilter, DeprecatedMatchPhraseFilter } from './migrate_filter'; import { PhraseFilter, MatchAllFilter } from '../filters'; @@ -52,7 +52,7 @@ describe('migrateFilter', function () { }); it('should not modify the original filter', function () { - const oldMatchPhraseFilterCopy = clone(oldMatchPhraseFilter, true); + const oldMatchPhraseFilterCopy = cloneDeep(oldMatchPhraseFilter); migrateFilter(oldMatchPhraseFilter, undefined); diff --git a/src/plugins/data/common/es_query/es_query/migrate_filter.ts b/src/plugins/data/common/es_query/es_query/migrate_filter.ts index cec6a23318e11..498763be538de 100644 --- a/src/plugins/data/common/es_query/es_query/migrate_filter.ts +++ b/src/plugins/data/common/es_query/es_query/migrate_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, omit } from 'lodash3'; +import { get, omit } from 'lodash'; import { getConvertedValueForField } from '../filters'; import { Filter } from '../filters'; import { IIndexPattern } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/filters/get_display_value.ts b/src/plugins/data/common/es_query/filters/get_display_value.ts index 1c71d6891a6f8..10b4dab3f46ef 100644 --- a/src/plugins/data/common/es_query/filters/get_display_value.ts +++ b/src/plugins/data/common/es_query/filters/get_display_value.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { IIndexPattern, IFieldType } from '../..'; import { getIndexPatternFromFilter } from './get_index_pattern_from_filter'; diff --git a/src/plugins/data/common/es_query/filters/index.ts b/src/plugins/data/common/es_query/filters/index.ts index 982ea58c45769..4441155ad9218 100644 --- a/src/plugins/data/common/es_query/filters/index.ts +++ b/src/plugins/data/common/es_query/filters/index.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit, get } from 'lodash3'; +import { omit, get } from 'lodash'; import { Filter } from './meta_filter'; export * from './build_filters'; @@ -44,6 +44,6 @@ export * from './types'; * @param {object} filter The filter to clean * @returns {object} */ -export const cleanFilter = (filter: Filter): Filter => omit(filter, ['meta', '$state']); +export const cleanFilter = (filter: Filter): Filter => omit(filter, ['meta', '$state']) as Filter; export const isFilterDisabled = (filter: Filter): boolean => get(filter, 'meta.disabled', false); diff --git a/src/plugins/data/common/es_query/filters/phrase_filter.ts b/src/plugins/data/common/es_query/filters/phrase_filter.ts index b8ad6d3495575..167bb3f840350 100644 --- a/src/plugins/data/common/es_query/filters/phrase_filter.ts +++ b/src/plugins/data/common/es_query/filters/phrase_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isPlainObject } from 'lodash3'; +import { get, isPlainObject } from 'lodash'; import { Filter, FilterMeta } from './meta_filter'; import { IIndexPattern, IFieldType } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/filters/range_filter.test.ts b/src/plugins/data/common/es_query/filters/range_filter.test.ts index df07e62f83f47..8accca5c29a45 100644 --- a/src/plugins/data/common/es_query/filters/range_filter.test.ts +++ b/src/plugins/data/common/es_query/filters/range_filter.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { each } from 'lodash3'; +import { each } from 'lodash'; import { buildRangeFilter, getRangeFilterField, RangeFilter } from './range_filter'; import { fields, getField } from '../../index_patterns/mocks'; import { IIndexPattern, IFieldType } from '../../index_patterns'; diff --git a/src/plugins/data/common/es_query/filters/range_filter.ts b/src/plugins/data/common/es_query/filters/range_filter.ts index 1c886a9d90ced..c355a7397797c 100644 --- a/src/plugins/data/common/es_query/filters/range_filter.ts +++ b/src/plugins/data/common/es_query/filters/range_filter.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { map, reduce, mapValues, get, keys, pick } from 'lodash3'; +import { map, reduce, mapValues, get, keys, pickBy } from 'lodash'; import { Filter, FilterMeta } from './meta_filter'; import { IIndexPattern, IFieldType } from '../../index_patterns'; @@ -112,7 +112,7 @@ export const buildRangeFilter = ( filter.meta.formattedValue = formattedValue; } - params = mapValues(params, (value) => (field.type === 'number' ? parseFloat(value) : value)); + params = mapValues(params, (value: any) => (field.type === 'number' ? parseFloat(value) : value)); if ('gte' in params && 'gt' in params) throw new Error('gte and gt are mutually exclusive'); if ('lte' in params && 'lt' in params) throw new Error('lte and lt are mutually exclusive'); @@ -148,7 +148,7 @@ export const buildRangeFilter = ( }; export const getRangeScript = (field: IFieldType, params: RangeFilterParams) => { - const knownParams = pick(params, (val, key: any) => key in operators); + const knownParams = pickBy(params, (val, key: any) => key in operators); let script = map( knownParams, (val: any, key: string) => '(' + field.script + ')' + get(operators, key) + key diff --git a/src/plugins/data/common/es_query/kuery/functions/exists.ts b/src/plugins/data/common/es_query/kuery/functions/exists.ts index e194c770a5815..eb6829fca58d9 100644 --- a/src/plugins/data/common/es_query/kuery/functions/exists.ts +++ b/src/plugins/data/common/es_query/kuery/functions/exists.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import * as literal from '../node_types/literal'; import { IIndexPattern, KueryNode, IFieldType } from '../../..'; diff --git a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts index 4a8b595bb4599..cf287ff2c437a 100644 --- a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts +++ b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { nodeTypes } from '../node_types'; import { fields } from '../../../index_patterns/mocks'; import { IIndexPattern } from '../../../index_patterns'; diff --git a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts index da68539cbcc04..d61b16f8dcd85 100644 --- a/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts +++ b/src/plugins/data/common/es_query/kuery/functions/geo_bounding_box.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { nodeTypes } from '../node_types'; import * as ast from '../ast'; import { IIndexPattern, KueryNode, IFieldType, LatLon } from '../../..'; diff --git a/src/plugins/data/common/es_query/kuery/functions/is.ts b/src/plugins/data/common/es_query/kuery/functions/is.ts index 00885712acbef..404f27b38992c 100644 --- a/src/plugins/data/common/es_query/kuery/functions/is.ts +++ b/src/plugins/data/common/es_query/kuery/functions/is.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isUndefined } from 'lodash3'; +import { get, isUndefined } from 'lodash'; import { getPhraseScript } from '../../filters'; import { getFields } from './utils/get_fields'; import { getTimeZoneFromSettings } from '../../utils'; @@ -97,7 +97,7 @@ export function toElasticsearchQuery( }); } - const isExistsQuery = valueArg.type === 'wildcard' && value === '*'; + const isExistsQuery = valueArg.type === 'wildcard' && (value as any) === '*'; const isAllFieldsQuery = (fullFieldNameArg.type === 'wildcard' && ((fieldName as unknown) as string) === '*') || (fields && indexPattern && fields.length === indexPattern.fields.length); @@ -135,7 +135,7 @@ export function toElasticsearchQuery( ...accumulator, { script: { - ...getPhraseScript(field, value), + ...getPhraseScript(field, value as any), }, }, ]; diff --git a/src/plugins/data/common/es_query/kuery/functions/range.test.ts b/src/plugins/data/common/es_query/kuery/functions/range.test.ts index abc72c9d6ad5a..ed8e40830df02 100644 --- a/src/plugins/data/common/es_query/kuery/functions/range.test.ts +++ b/src/plugins/data/common/es_query/kuery/functions/range.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { nodeTypes } from '../node_types'; import { fields } from '../../../index_patterns/mocks'; import { IIndexPattern } from '../../../index_patterns'; diff --git a/src/plugins/data/common/es_query/kuery/functions/range.ts b/src/plugins/data/common/es_query/kuery/functions/range.ts index 22c7a2cbc469a..feffaa3ec7dda 100644 --- a/src/plugins/data/common/es_query/kuery/functions/range.ts +++ b/src/plugins/data/common/es_query/kuery/functions/range.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { nodeTypes } from '../node_types'; import * as ast from '../ast'; import { getRangeScript, RangeFilterParams } from '../../filters'; diff --git a/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts b/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts index 24cb48aba52d5..6aac1a3b3486d 100644 --- a/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts +++ b/src/plugins/data/common/es_query/kuery/kuery_syntax_error.ts @@ -17,7 +17,7 @@ * under the License. */ -import { repeat } from 'lodash3'; +import { repeat } from 'lodash'; import { i18n } from '@kbn/i18n'; const endOfInputText = i18n.translate('data.common.kql.errors.endOfInputText', { diff --git a/src/plugins/data/common/es_query/kuery/node_types/function.ts b/src/plugins/data/common/es_query/kuery/node_types/function.ts index 9a497bec8d7fd..fd4e408acb57a 100644 --- a/src/plugins/data/common/es_query/kuery/node_types/function.ts +++ b/src/plugins/data/common/es_query/kuery/node_types/function.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { functions } from '../functions'; import { IIndexPattern, KueryNode } from '../../..'; diff --git a/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts b/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts index 0b654388b5667..df1fdd1e0d514 100644 --- a/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts +++ b/src/plugins/data/common/es_query/kuery/node_types/named_arg.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import * as ast from '../ast'; import { nodeTypes } from '../node_types'; import { NamedArgTypeBuildNode } from './types'; diff --git a/src/plugins/data/common/field_formats/content_types/html_content_type.ts b/src/plugins/data/common/field_formats/content_types/html_content_type.ts index 551aab5f5069a..d4701200d99e0 100644 --- a/src/plugins/data/common/field_formats/content_types/html_content_type.ts +++ b/src/plugins/data/common/field_formats/content_types/html_content_type.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { escape, isFunction } from 'lodash3'; +import { escape, isFunction } from 'lodash'; import { IFieldFormat, HtmlContextTypeConvert, FieldFormatsContentType } from '../types'; import { asPrettyString, getHighlightHtml } from '../utils'; diff --git a/src/plugins/data/common/field_formats/content_types/text_content_type.ts b/src/plugins/data/common/field_formats/content_types/text_content_type.ts index dfa53c2d993d1..4a90ba6c0b203 100644 --- a/src/plugins/data/common/field_formats/content_types/text_content_type.ts +++ b/src/plugins/data/common/field_formats/content_types/text_content_type.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isFunction } from 'lodash3'; +import { isFunction } from 'lodash'; import { IFieldFormat, TextContextTypeConvert, FieldFormatsContentType } from '../types'; import { asPrettyString } from '../utils'; diff --git a/src/plugins/data/common/field_formats/converters/color.ts b/src/plugins/data/common/field_formats/converters/color.ts index 30d943699fe14..ca659916f7671 100644 --- a/src/plugins/data/common/field_formats/converters/color.ts +++ b/src/plugins/data/common/field_formats/converters/color.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { findLast, cloneDeep, template, escape } from 'lodash3'; +import { findLast, cloneDeep, template, escape } from 'lodash'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; import { HtmlContextTypeConvert, FIELD_FORMAT_IDS } from '../types'; diff --git a/src/plugins/data/common/field_formats/converters/date_nanos.ts b/src/plugins/data/common/field_formats/converters/date_nanos.ts index 35e476c610716..3fa2b1c276cd7 100644 --- a/src/plugins/data/common/field_formats/converters/date_nanos.ts +++ b/src/plugins/data/common/field_formats/converters/date_nanos.ts @@ -19,7 +19,7 @@ import { i18n } from '@kbn/i18n'; import moment, { Moment } from 'moment'; -import { memoize, noop } from 'lodash3'; +import { memoize, noop } from 'lodash'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; import { TextContextTypeConvert, FIELD_FORMAT_IDS } from '../types'; diff --git a/src/plugins/data/common/field_formats/converters/source.ts b/src/plugins/data/common/field_formats/converters/source.ts index ac41d91255e3a..f00261e00971a 100644 --- a/src/plugins/data/common/field_formats/converters/source.ts +++ b/src/plugins/data/common/field_formats/converters/source.ts @@ -17,7 +17,7 @@ * under the License. */ -import { template, escape, keys } from 'lodash3'; +import { template, escape, keys } from 'lodash'; import { shortenDottedString } from '../../utils'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; diff --git a/src/plugins/data/common/field_formats/converters/truncate.ts b/src/plugins/data/common/field_formats/converters/truncate.ts index 071c7bd554764..c9ab9df920e16 100644 --- a/src/plugins/data/common/field_formats/converters/truncate.ts +++ b/src/plugins/data/common/field_formats/converters/truncate.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { trunc } from 'lodash3'; +import { truncate } from 'lodash'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; import { TextContextTypeConvert, FIELD_FORMAT_IDS } from '../types'; @@ -35,7 +35,7 @@ export class TruncateFormat extends FieldFormat { textConvert: TextContextTypeConvert = (val) => { const length = this.param('fieldLength'); if (length > 0) { - return trunc(val, { + return truncate(val, { length: length + omission.length, omission, }); diff --git a/src/plugins/data/common/field_formats/converters/url.ts b/src/plugins/data/common/field_formats/converters/url.ts index a0cb4270c8dd1..a0a498b6cab34 100644 --- a/src/plugins/data/common/field_formats/converters/url.ts +++ b/src/plugins/data/common/field_formats/converters/url.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { escape, memoize } from 'lodash3'; +import { escape, memoize } from 'lodash'; import { getHighlightHtml } from '../utils'; import { KBN_FIELD_TYPES } from '../../kbn_field_types/types'; import { FieldFormat } from '../field_format'; diff --git a/src/plugins/data/common/field_formats/field_format.test.ts b/src/plugins/data/common/field_formats/field_format.test.ts index 8f73829e106fb..2b8f9ad48a34b 100644 --- a/src/plugins/data/common/field_formats/field_format.test.ts +++ b/src/plugins/data/common/field_formats/field_format.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { constant, trimRight, trimLeft, get } from 'lodash3'; +import { constant, trimEnd, trimStart, get } from 'lodash'; import { FieldFormat } from './field_format'; import { asPrettyString } from './utils'; @@ -120,8 +120,8 @@ describe('FieldFormat class', () => { test('does escape the output of the text converter if used in an html context', () => { const f = getTestFormat(undefined, constant('')); - const expected = trimRight( - trimLeft(f.convert('', 'html'), ''), + const expected = trimEnd( + trimStart(f.convert('', 'html'), ''), '' ); diff --git a/src/plugins/data/common/field_formats/field_format.ts b/src/plugins/data/common/field_formats/field_format.ts index 12a530e081348..9e4308d6fd559 100644 --- a/src/plugins/data/common/field_formats/field_format.ts +++ b/src/plugins/data/common/field_formats/field_format.ts @@ -17,7 +17,7 @@ * under the License. */ -import { transform, size, cloneDeep, get, defaults } from 'lodash3'; +import { transform, size, cloneDeep, get, defaults } from 'lodash'; import { createCustomFieldFormat } from './converters/custom'; import { FieldFormatsGetConfigFn, @@ -185,7 +185,7 @@ export abstract class FieldFormat { const params = transform( this._params, - (uniqParams, val, param) => { + (uniqParams: any, val, param) => { if (param && val !== get(defaultsParams, param)) { uniqParams[param] = val; } diff --git a/src/plugins/data/common/field_formats/field_formats_registry.ts b/src/plugins/data/common/field_formats/field_formats_registry.ts index e269da139d113..74a942b51583d 100644 --- a/src/plugins/data/common/field_formats/field_formats_registry.ts +++ b/src/plugins/data/common/field_formats/field_formats_registry.ts @@ -18,7 +18,7 @@ */ // eslint-disable-next-line max-classes-per-file -import { forOwn, isFunction, memoize, identity } from 'lodash3'; +import { forOwn, isFunction, memoize, identity } from 'lodash'; import { FieldFormatsGetConfigFn, @@ -233,7 +233,7 @@ export class FieldFormatsRegistry { parseDefaultTypeMap(value: any) { this.defaultMap = value; forOwn(this, (fn) => { - if (isFunction(fn) && fn.cache) { + if (isFunction(fn) && (fn as any).cache) { // clear all memoize caches // @ts-ignore fn.cache = new memoize.Cache(); diff --git a/src/plugins/data/common/field_formats/mocks.ts b/src/plugins/data/common/field_formats/mocks.ts index ef3789a997aed..9bbaefe2d146a 100644 --- a/src/plugins/data/common/field_formats/mocks.ts +++ b/src/plugins/data/common/field_formats/mocks.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash3'; +import { identity } from 'lodash'; import { FieldFormat, IFieldFormatsRegistry } from '.'; export const fieldFormatsMock: IFieldFormatsRegistry = { diff --git a/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts b/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts index 12a11e0977469..23c72e94b120a 100644 --- a/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts +++ b/src/plugins/data/common/field_formats/utils/highlight/highlight_html.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { highlightTags } from './highlight_tags'; import { htmlTags } from './html_tags'; diff --git a/src/plugins/data/common/field_mapping/mapping_setup.ts b/src/plugins/data/common/field_mapping/mapping_setup.ts index f2a79a8ec1fce..0bad47d9889f0 100644 --- a/src/plugins/data/common/field_mapping/mapping_setup.ts +++ b/src/plugins/data/common/field_mapping/mapping_setup.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapValues, isString } from 'lodash3'; +import { mapValues, isString } from 'lodash'; import { FieldMappingSpec, MappingObject } from './types'; // import from ./common/types to prevent circular dependency of kibana_utils <-> data plugin @@ -28,7 +28,7 @@ type ShorthandFieldMapObject = FieldMappingSpec | ES_FIELD_TYPES | 'json'; /** @public */ export const expandShorthand = (sh: Record): MappingObject => { - return mapValues>(sh, (val: ShorthandFieldMapObject) => { + return mapValues(sh, (val: ShorthandFieldMapObject) => { const fieldMap = isString(val) ? { type: val } : val; const json: FieldMappingSpec = { type: ES_FIELD_TYPES.TEXT, diff --git a/src/plugins/data/common/index_patterns/fields/field_list.ts b/src/plugins/data/common/index_patterns/fields/field_list.ts index 39121582ec9d4..c1ca5341328ce 100644 --- a/src/plugins/data/common/index_patterns/fields/field_list.ts +++ b/src/plugins/data/common/index_patterns/fields/field_list.ts @@ -17,7 +17,7 @@ * under the License. */ -import { findIndex } from 'lodash3'; +import { findIndex } from 'lodash'; import { IIndexPattern } from '../../types'; import { IFieldType } from '../../../common'; import { Field } from './field'; diff --git a/src/plugins/data/common/index_patterns/fields/obj_define.js b/src/plugins/data/common/index_patterns/fields/obj_define.js index a40df0d533095..9c9e5c8f3d55f 100644 --- a/src/plugins/data/common/index_patterns/fields/obj_define.js +++ b/src/plugins/data/common/index_patterns/fields/obj_define.js @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; export function ObjDefine(defaults, prototype) { this.obj; // created by this.create() diff --git a/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts b/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts index 335f574ad5226..1702441aa4ca1 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/ensure_default_index_pattern.ts @@ -17,7 +17,7 @@ * under the License. */ -import { contains } from 'lodash3'; +import { includes } from 'lodash'; import { IndexPatternsContract } from './index_patterns'; import { UiSettingsCommon } from '../types'; @@ -35,7 +35,7 @@ export const createEnsureDefaultIndexPattern = ( const patterns = await this.getIds(); let defaultId = await uiSettings.get('defaultIndex'); let defined = !!defaultId; - const exists = contains(patterns, defaultId); + const exists = includes(patterns, defaultId); if (defined && !exists) { await uiSettings.remove('defaultIndex'); diff --git a/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts b/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts index 388403cd00f54..c1aa2efe46998 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { IndexPattern } from './index_pattern'; // Takes a hit, merges it with any stored/scripted fields, and with the metaFields @@ -77,7 +77,7 @@ function decorateFlattenedWrapper(hit: Record, metaFields: Record { const scriptedNames = mockLogStashFields() .filter((item: Field) => item.scripted === true) .map((item: Field) => item.name); - const respNames = pluck(indexPattern.getScriptedFields(), 'name'); + const respNames = map(indexPattern.getScriptedFields(), 'name'); expect(respNames).toEqual(scriptedNames); }); @@ -216,7 +216,7 @@ describe('IndexPattern', () => { const notScriptedNames = mockLogStashFields() .filter((item: Field) => item.scripted === false) .map((item: Field) => item.name); - const respNames = pluck(indexPattern.getNonScriptedFields(), 'name'); + const respNames = map(indexPattern.getNonScriptedFields(), 'name'); expect(respNames).toEqual(notScriptedNames); }); @@ -287,7 +287,7 @@ describe('IndexPattern', () => { // const saveSpy = sinon.spy(indexPattern, 'save'); const scriptedFields = indexPattern.getScriptedFields(); const oldCount = scriptedFields.length; - const scriptedField = last(scriptedFields); + const scriptedField = last(scriptedFields) as any; await indexPattern.removeScriptedField(scriptedField); @@ -298,7 +298,7 @@ describe('IndexPattern', () => { test('should not allow duplicate names', async () => { const scriptedFields = indexPattern.getScriptedFields(); - const scriptedField = last(scriptedFields); + const scriptedField = last(scriptedFields) as any; expect.assertions(1); try { await indexPattern.addScriptedField(scriptedField.name, "'new script'", 'string', 'lang'); diff --git a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts index 51da75991692c..dab11ad0ce29a 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts @@ -17,7 +17,7 @@ * under the License. */ -import _, { each, reject } from 'lodash3'; +import _, { each, reject } from 'lodash'; import { i18n } from '@kbn/i18n'; import { SavedObjectsClientCommon } from '../..'; import { DuplicateField, SavedObjectNotFound } from '../../../../kibana_utils/common'; @@ -353,9 +353,9 @@ export class IndexPattern implements IIndexPattern { async addScriptedField(name: string, script: string, fieldType: string = 'string', lang: string) { const scriptedFields = this.getScriptedFields(); - const names = _.pluck(scriptedFields, 'name'); + const names = _.map(scriptedFields, 'name'); - if (_.contains(names, name)) { + if (_.includes(names, name)) { throw new DuplicateField(name); } @@ -417,11 +417,11 @@ export class IndexPattern implements IIndexPattern { } getNonScriptedFields() { - return _.where(this.fields, { scripted: false }); + return _.filter(this.fields, { scripted: false }); } getScriptedFields() { - return _.where(this.fields, { scripted: true }); + return _.filter(this.fields, { scripted: true }); } isTimeBased(): boolean { diff --git a/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts b/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts index decbea05e01c8..1630a4547b7a1 100644 --- a/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts +++ b/src/plugins/data/common/index_patterns/lib/get_from_saved_object.ts @@ -18,7 +18,7 @@ */ import { SavedObject } from 'src/core/public'; -import { get } from 'lodash3'; +import { get } from 'lodash'; import { IIndexPattern, IndexPatternAttributes } from '../..'; export function getFromSavedObject( diff --git a/src/plugins/data/common/index_patterns/utils.ts b/src/plugins/data/common/index_patterns/utils.ts index c2465dfc00ee2..d9e1cfa0d952a 100644 --- a/src/plugins/data/common/index_patterns/utils.ts +++ b/src/plugins/data/common/index_patterns/utils.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash3'; +import { find } from 'lodash'; import { SavedObjectsClientCommon, SavedObject } from '..'; /** diff --git a/src/plugins/data/common/query/filter_manager/compare_filters.ts b/src/plugins/data/common/query/filter_manager/compare_filters.ts index d309243edf5ee..be8e9b13e7cff 100644 --- a/src/plugins/data/common/query/filter_manager/compare_filters.ts +++ b/src/plugins/data/common/query/filter_manager/compare_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults, isEqual, omit, map } from 'lodash3'; +import { defaults, isEqual, omit, map } from 'lodash'; import { FilterMeta, Filter } from '../../es_query'; export interface FilterCompareOptions { @@ -44,7 +44,7 @@ const mapFilter = ( comparators: FilterCompareOptions, excludedAttributes: string[] ) => { - const cleaned: FilterMeta = omit(filter, excludedAttributes); + const cleaned: FilterMeta = omit(filter, excludedAttributes) as FilterMeta; if (comparators.index) cleaned.index = filter.meta?.index; if (comparators.negate) cleaned.negate = filter.meta && Boolean(filter.meta.negate); diff --git a/src/plugins/data/common/query/filter_manager/dedup_filters.ts b/src/plugins/data/common/query/filter_manager/dedup_filters.ts index 7bf3d9e03472f..7d1b00ac10c0d 100644 --- a/src/plugins/data/common/query/filter_manager/dedup_filters.ts +++ b/src/plugins/data/common/query/filter_manager/dedup_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { filter, find } from 'lodash3'; +import { filter, find } from 'lodash'; import { compareFilters, FilterCompareOptions } from './compare_filters'; import { Filter } from '../../es_query'; diff --git a/src/plugins/data/common/query/filter_manager/uniq_filters.ts b/src/plugins/data/common/query/filter_manager/uniq_filters.ts index a683d453cf540..683cbf7c78a89 100644 --- a/src/plugins/data/common/query/filter_manager/uniq_filters.ts +++ b/src/plugins/data/common/query/filter_manager/uniq_filters.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { each, union } from 'lodash3'; +import { each, union } from 'lodash'; import { Filter } from '../../es_query'; import { dedupFilters } from './dedup_filters'; diff --git a/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts b/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts index 643d8c5b25244..e9d708d7061d2 100644 --- a/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts +++ b/src/plugins/data/common/search/aggs/date_interval_utils/parse_interval.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash3'; +import { find } from 'lodash'; import moment, { unitOfTime } from 'moment'; import dateMath from '@elastic/datemath'; diff --git a/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts b/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts index 3aaed67edec34..a0eb49d773f3d 100644 --- a/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts +++ b/src/plugins/data/public/actions/filters/create_filters_from_range_select.ts @@ -17,7 +17,7 @@ * under the License. */ -import { last } from 'lodash3'; +import { last } from 'lodash'; import moment from 'moment'; import { esFilters, IFieldType, RangeFilterParams } from '../../../public'; import { getIndexPatterns } from '../../../public/services'; diff --git a/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts b/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts index 39335cc060709..a6a45a26f06b3 100644 --- a/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts +++ b/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts @@ -17,7 +17,7 @@ * under the License. */ -import { memoize } from 'lodash3'; +import { memoize } from 'lodash'; import { CoreSetup } from 'src/core/public'; import { IIndexPattern, IFieldType, UI_SETTINGS } from '../../../common'; diff --git a/src/plugins/data/public/field_formats/converters/date.ts b/src/plugins/data/public/field_formats/converters/date.ts index 4e01fa8cac9f2..78ef8b293e8b9 100644 --- a/src/plugins/data/public/field_formats/converters/date.ts +++ b/src/plugins/data/public/field_formats/converters/date.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { memoize, noop } from 'lodash3'; +import { memoize, noop } from 'lodash'; import moment from 'moment'; import { FieldFormat, diff --git a/src/plugins/data/public/field_formats/utils/deserialize.ts b/src/plugins/data/public/field_formats/utils/deserialize.ts index e399bc5398b89..26baa5fdeb1e4 100644 --- a/src/plugins/data/public/field_formats/utils/deserialize.ts +++ b/src/plugins/data/public/field_formats/utils/deserialize.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash3'; +import { identity } from 'lodash'; import { SerializedFieldFormat } from '../../../../expressions/common/types'; diff --git a/src/plugins/data/public/index_patterns/saved_objects_client_wrapper.ts b/src/plugins/data/public/index_patterns/saved_objects_client_wrapper.ts index 0fc6c4eb78ec0..345dd3b32691e 100644 --- a/src/plugins/data/public/index_patterns/saved_objects_client_wrapper.ts +++ b/src/plugins/data/public/index_patterns/saved_objects_client_wrapper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { omit } from 'lodash3'; +import { omit } from 'lodash'; import { SavedObjectsClient, SimpleSavedObject } from 'src/core/public'; import { SavedObjectsClientCommon, @@ -27,12 +27,11 @@ import { type SOClient = Pick; -const simpleSavedObjectToSavedObject = ( - simpleSavedObject: SimpleSavedObject -): SavedObject => ({ - version: simpleSavedObject._version, - ...omit(simpleSavedObject, '_version'), -}); +const simpleSavedObjectToSavedObject = (simpleSavedObject: SimpleSavedObject): SavedObject => + ({ + version: simpleSavedObject._version, + ...omit(simpleSavedObject, '_version'), + } as any); export class SavedObjectsClientPublicToCommon implements SavedObjectsClientCommon { private savedObjectClient: SOClient; diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md index 5053c90918964..670b40e7d9472 100644 --- a/src/plugins/data/public/public.api.md +++ b/src/plugins/data/public/public.api.md @@ -5,7 +5,7 @@ ```ts import { $Values } from '@kbn/utility-types'; -import _ from 'lodash3'; +import _ from 'lodash'; import { Action } from 'history'; import { ApplicationStart } from 'kibana/public'; import { Assign } from '@kbn/utility-types'; @@ -584,8 +584,8 @@ export abstract class FieldFormat { textConvert: TextContextTypeConvert | undefined; static title: string; toJSON(): { - id: unknown; - params: import("lodash3").Dictionary | undefined; + id: any; + params: any; }; type: any; } diff --git a/src/plugins/data/public/query/filter_manager/filter_manager.test.ts b/src/plugins/data/public/query/filter_manager/filter_manager.test.ts index 6d13b30f0a56d..878142906f54b 100644 --- a/src/plugins/data/public/query/filter_manager/filter_manager.test.ts +++ b/src/plugins/data/public/query/filter_manager/filter_manager.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import sinon from 'sinon'; import { Subscription } from 'rxjs'; diff --git a/src/plugins/data/public/query/filter_manager/filter_manager.ts b/src/plugins/data/public/query/filter_manager/filter_manager.ts index 61c8b0fc2cde6..eaf6ddc9afc35 100644 --- a/src/plugins/data/public/query/filter_manager/filter_manager.ts +++ b/src/plugins/data/public/query/filter_manager/filter_manager.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { Subject } from 'rxjs'; import { IUiSettingsClient } from 'src/core/public'; @@ -65,7 +65,7 @@ export class FilterManager { } // matching filter in globalState, update global and don't add from appState - _.assign(match.meta, filter.meta); + _.assignIn(match.meta, filter.meta); }); return FilterManager.mergeFilters(cleanedAppFilters, globalFilters); diff --git a/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts b/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts index d0106b78ad95d..723001297e8f2 100644 --- a/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts +++ b/src/plugins/data/public/query/filter_manager/lib/generate_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { IFieldType, IIndexPattern, @@ -53,7 +53,7 @@ function getExistingFilter( if (isScriptedPhraseFilter(filter)) { return filter.meta.field === fieldName && filter.script!.script.params.value === value; } - }); + }) as any; } function updateExistingFilter(existingFilter: Filter, negate: boolean) { diff --git a/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts b/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts index 24988441d71a4..13c99e1655d4c 100644 --- a/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts +++ b/src/plugins/data/public/query/filter_manager/lib/map_and_flatten_filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { compact, flatten } from 'lodash3'; +import { compact, flatten } from 'lodash'; import { mapFilter } from './map_filter'; import { Filter } from '../../../../common'; diff --git a/src/plugins/data/public/query/filter_manager/lib/map_filter.ts b/src/plugins/data/public/query/filter_manager/lib/map_filter.ts index bdf01b061512f..7b223a6845559 100644 --- a/src/plugins/data/public/query/filter_manager/lib/map_filter.ts +++ b/src/plugins/data/public/query/filter_manager/lib/map_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { reduceRight } from 'lodash3'; +import { reduceRight } from 'lodash'; import { mapSpatialFilter } from './mappers/map_spatial_filter'; import { mapMatchAll } from './mappers/map_match_all'; diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts index f067effad813b..b5715e33a4677 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_default.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find, keys, get } from 'lodash3'; +import { find, keys, get } from 'lodash'; import { Filter, FILTERS } from '../../../../../common'; export const mapDefault = (filter: Filter) => { diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts index 0b36e452bef2e..6555652a37ca8 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_exists.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { Filter, isExistsFilter, FILTERS } from '../../../../../common'; export const mapExists = (filter: Filter) => { diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts index 5485a4b6c8484..a5e92d57d6a5b 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_phrase.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { PhraseFilter, FilterValueFormatter, diff --git a/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts b/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts index 8cdc6d929259c..41457a01e0c97 100644 --- a/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts +++ b/src/plugins/data/public/query/filter_manager/lib/mappers/map_range.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, has } from 'lodash3'; +import { get, hasIn } from 'lodash'; import { FilterValueFormatter, RangeFilter, @@ -48,10 +48,10 @@ function getParams(filter: RangeFilter) { ? get(filter, 'script.script.params') : getRangeByKey(filter, key); - let left = has(params, 'gte') ? params.gte : params.gt; + let left = hasIn(params, 'gte') ? params.gte : params.gt; if (left == null) left = -Infinity; - let right = has(params, 'lte') ? params.lte : params.lt; + let right = hasIn(params, 'lte') ? params.lte : params.lt; if (right == null) right = Infinity; const value = getFormattedValueFn(left, right); diff --git a/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts b/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts index 08cc747c511f4..18c51ebeabe54 100644 --- a/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts +++ b/src/plugins/data/public/query/filter_manager/lib/only_disabled.ts @@ -17,7 +17,7 @@ * under the License. */ -import { filter } from 'lodash3'; +import { filter } from 'lodash'; import { Filter, compareFilters, COMPARE_ALL_OPTIONS } from '../../../../common'; const isEnabled = (f: Filter) => f && f.meta && !f.meta.disabled; diff --git a/src/plugins/data/public/query/lib/from_user.ts b/src/plugins/data/public/query/lib/from_user.ts index 09b3fd74e0edb..fbb1726fc99ea 100644 --- a/src/plugins/data/public/query/lib/from_user.ts +++ b/src/plugins/data/public/query/lib/from_user.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; /** * Take userInput from the user and make it into a query object diff --git a/src/plugins/data/public/query/persisted_log/persisted_log.ts b/src/plugins/data/public/query/persisted_log/persisted_log.ts index 5b985d8af8da6..f61315b85b195 100644 --- a/src/plugins/data/public/query/persisted_log/persisted_log.ts +++ b/src/plugins/data/public/query/persisted_log/persisted_log.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import * as Rx from 'rxjs'; import { map } from 'rxjs/operators'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; diff --git a/src/plugins/data/public/query/state_sync/connect_to_query_state.ts b/src/plugins/data/public/query/state_sync/connect_to_query_state.ts index 0865bca2cab53..e74497a5053b4 100644 --- a/src/plugins/data/public/query/state_sync/connect_to_query_state.ts +++ b/src/plugins/data/public/query/state_sync/connect_to_query_state.ts @@ -19,7 +19,7 @@ import { Subscription } from 'rxjs'; import { filter, map } from 'rxjs/operators'; -import _ from 'lodash3'; +import _ from 'lodash'; import { BaseStateContainer } from '../../../../kibana_utils/public'; import { QuerySetup, QueryStart } from '../query_service'; import { QueryState, QueryStateChange } from './types'; diff --git a/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts b/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts index d9870447956a6..cbbf2f2754312 100644 --- a/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts +++ b/src/plugins/data/public/query/timefilter/lib/change_time_filter.ts @@ -18,7 +18,7 @@ */ import moment from 'moment'; -import { keys } from 'lodash3'; +import { keys } from 'lodash'; import { TimefilterContract } from '../../timefilter'; import { RangeFilter, TimeRange } from '../../../../common'; diff --git a/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts b/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts index 7f79f4d2bb568..3a9402209be20 100644 --- a/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts +++ b/src/plugins/data/public/query/timefilter/lib/diff_time_picker_vals.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { RefreshInterval } from '../../../../common'; import { InputTimeRange } from '../types'; diff --git a/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts b/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts index 686f328c44940..23dd1547baf10 100644 --- a/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts +++ b/src/plugins/data/public/query/timefilter/lib/extract_time_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { keys, partition } from 'lodash3'; +import { keys, partition } from 'lodash'; import { Filter, isRangeFilter, RangeFilter } from '../../../../common'; export function extractTimeFilter(timeFieldName: string, filters: Filter[]) { diff --git a/src/plugins/data/public/query/timefilter/timefilter.ts b/src/plugins/data/public/query/timefilter/timefilter.ts index bace8d6c6bfb3..5eb1546fa015f 100644 --- a/src/plugins/data/public/query/timefilter/timefilter.ts +++ b/src/plugins/data/public/query/timefilter/timefilter.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { Subject, BehaviorSubject } from 'rxjs'; import moment from 'moment'; import { areRefreshIntervalsDifferent, areTimeRangesDifferent } from './lib/diff_time_picker_vals'; diff --git a/src/plugins/data/public/search/aggs/agg_config.test.ts b/src/plugins/data/public/search/aggs/agg_config.test.ts index e5effb6b7915a..18a86d767c2de 100644 --- a/src/plugins/data/public/search/aggs/agg_config.test.ts +++ b/src/plugins/data/public/search/aggs/agg_config.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash3'; +import { identity } from 'lodash'; import { AggConfig, IAggConfig } from './agg_config'; import { AggConfigs, CreateAggConfigParams } from './agg_configs'; diff --git a/src/plugins/data/public/search/aggs/agg_config.ts b/src/plugins/data/public/search/aggs/agg_config.ts index 997b8e39439b8..de49e9ab6f66e 100644 --- a/src/plugins/data/public/search/aggs/agg_config.ts +++ b/src/plugins/data/public/search/aggs/agg_config.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { Assign, Ensure } from '@kbn/utility-types'; import { @@ -271,7 +271,7 @@ export class AggConfig { const outParams = _.transform( this.getAggParams(), - (out, aggParam) => { + (out: any, aggParam) => { let val = params[aggParam.name]; // don't serialize undefined/null values @@ -365,7 +365,7 @@ export class AggConfig { } getAggParams() { - return [...(_.has(this, 'type.params') ? this.type.params : [])]; + return [...(_.hasIn(this, 'type.params') ? this.type.params : [])]; } getRequestAggs() { @@ -438,14 +438,10 @@ export class AggConfig { public set type(type) { if (this.__typeDecorations) { - _.forOwn( - this.__typeDecorations, - function (prop, name: string | undefined) { - // @ts-ignore - delete this[name]; - }, - this - ); + _.forOwn(this.__typeDecorations, (prop, name: string | undefined) => { + // @ts-ignore + delete this[name]; + }); } if (type && _.isFunction(type.decorateAggConfig)) { diff --git a/src/plugins/data/public/search/aggs/agg_configs.test.ts b/src/plugins/data/public/search/aggs/agg_configs.test.ts index 89f88854052bc..f3efeb028665b 100644 --- a/src/plugins/data/public/search/aggs/agg_configs.test.ts +++ b/src/plugins/data/public/search/aggs/agg_configs.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { indexBy } from 'lodash3'; +import { keyBy } from 'lodash'; import { AggConfig } from './agg_config'; import { AggConfigs } from './agg_configs'; import { AggTypesRegistryStart } from './agg_types_registry'; @@ -166,7 +166,7 @@ describe('AggConfigs', () => { const ac = new AggConfigs(indexPattern, configStates, { typesRegistry }); const sorted = ac.getRequestAggs(); - const aggs = indexBy(ac.aggs, (agg) => agg.type.name); + const aggs = keyBy(ac.aggs, (agg) => agg.type.name); expect(sorted.shift()).toBe(aggs.terms); expect(sorted.shift()).toBe(aggs.histogram); @@ -189,7 +189,7 @@ describe('AggConfigs', () => { const ac = new AggConfigs(indexPattern, configStates, { typesRegistry }); const sorted = ac.getResponseAggs(); - const aggs = indexBy(ac.aggs, (agg) => agg.type.name); + const aggs = keyBy(ac.aggs, (agg) => agg.type.name); expect(sorted.shift()).toBe(aggs.terms); expect(sorted.shift()).toBe(aggs.date_histogram); @@ -206,7 +206,7 @@ describe('AggConfigs', () => { const ac = new AggConfigs(indexPattern, configStates, { typesRegistry }); const sorted = ac.getResponseAggs(); - const aggs = indexBy(ac.aggs, (agg) => agg.type.name); + const aggs = keyBy(ac.aggs, (agg) => agg.type.name); expect(sorted.shift()).toBe(aggs.terms); expect(sorted.shift()).toBe(aggs.date_histogram); diff --git a/src/plugins/data/public/search/aggs/agg_configs.ts b/src/plugins/data/public/search/aggs/agg_configs.ts index cef98ecc68537..b272dfd3c7468 100644 --- a/src/plugins/data/public/search/aggs/agg_configs.ts +++ b/src/plugins/data/public/search/aggs/agg_configs.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { Assign } from '@kbn/utility-types'; import { AggConfig, AggConfigSerialized, IAggConfig } from './agg_config'; diff --git a/src/plugins/data/public/search/aggs/agg_type.ts b/src/plugins/data/public/search/aggs/agg_type.ts index 1d006a4b3e3b2..13655afdf469e 100644 --- a/src/plugins/data/public/search/aggs/agg_type.ts +++ b/src/plugins/data/public/search/aggs/agg_type.ts @@ -17,7 +17,7 @@ * under the License. */ -import { constant, noop, identity } from 'lodash3'; +import { constant, noop, identity } from 'lodash'; import { i18n } from '@kbn/i18n'; import { SerializedFieldFormat } from 'src/plugins/expressions/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts b/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts index 676918814da47..fba3d35f002af 100644 --- a/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts +++ b/src/plugins/data/public/search/aggs/buckets/_terms_other_bucket_helper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isNumber, keys, values, find, each, cloneDeep, flatten } from 'lodash3'; +import { isNumber, keys, values, find, each, cloneDeep, flatten } from 'lodash'; import { buildExistsFilter, buildPhrasesFilter, buildQueryFromFilters } from '../../../../common'; import { AggGroupNames } from '../agg_groups'; import { IAggConfigs } from '../agg_configs'; diff --git a/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts b/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts index 3cea070d16684..72d2029a12b0d 100644 --- a/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts +++ b/src/plugins/data/public/search/aggs/buckets/create_filter/filters.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { IBucketAggConfig } from '../bucket_agg_type'; import { buildQueryFilter } from '../../../../../common'; diff --git a/src/plugins/data/public/search/aggs/buckets/date_histogram.ts b/src/plugins/data/public/search/aggs/buckets/date_histogram.ts index aa3595ad838c2..e4c4bc0cedc3c 100644 --- a/src/plugins/data/public/search/aggs/buckets/date_histogram.ts +++ b/src/plugins/data/public/search/aggs/buckets/date_histogram.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, noop, find, every } from 'lodash3'; +import { get, noop, find, every } from 'lodash'; import moment from 'moment-timezone'; import { i18n } from '@kbn/i18n'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/date_range.ts b/src/plugins/data/public/search/aggs/buckets/date_range.ts index d2b8a05086795..dbcf5517fb08f 100644 --- a/src/plugins/data/public/search/aggs/buckets/date_range.ts +++ b/src/plugins/data/public/search/aggs/buckets/date_range.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import moment from 'moment-timezone'; import { i18n } from '@kbn/i18n'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/filters.ts b/src/plugins/data/public/search/aggs/buckets/filters.ts index 1ab49c3836acb..cb17ef07a930b 100644 --- a/src/plugins/data/public/search/aggs/buckets/filters.ts +++ b/src/plugins/data/public/search/aggs/buckets/filters.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { size, transform, cloneDeep } from 'lodash3'; +import { size, transform, cloneDeep } from 'lodash'; import { IUiSettingsClient } from 'src/core/public'; import { createFilterFilters } from './create_filter/filters'; @@ -90,7 +90,7 @@ export const getFiltersBucketAgg = ({ const outFilters = transform( inFilters, - function (filters, filter) { + function (filters: any, filter) { const input = cloneDeep(filter.input); if (!input) { diff --git a/src/plugins/data/public/search/aggs/buckets/geo_tile.ts b/src/plugins/data/public/search/aggs/buckets/geo_tile.ts index 31b6000cd2159..1212bba23a93a 100644 --- a/src/plugins/data/public/search/aggs/buckets/geo_tile.ts +++ b/src/plugins/data/public/search/aggs/buckets/geo_tile.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { noop } from 'lodash3'; +import { noop } from 'lodash'; import { BucketAggType, IBucketAggConfig } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; diff --git a/src/plugins/data/public/search/aggs/buckets/histogram.ts b/src/plugins/data/public/search/aggs/buckets/histogram.ts index d96063202db30..ce275e2dc1639 100644 --- a/src/plugins/data/public/search/aggs/buckets/histogram.ts +++ b/src/plugins/data/public/search/aggs/buckets/histogram.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { IUiSettingsClient } from 'src/core/public'; diff --git a/src/plugins/data/public/search/aggs/buckets/ip_range.ts b/src/plugins/data/public/search/aggs/buckets/ip_range.ts index 262cb7d2b319f..ed9bc5e0462f1 100644 --- a/src/plugins/data/public/search/aggs/buckets/ip_range.ts +++ b/src/plugins/data/public/search/aggs/buckets/ip_range.ts @@ -17,7 +17,7 @@ * under the License. */ -import { noop, map, omit, isNull } from 'lodash3'; +import { noop, map, omitBy, isNull } from 'lodash'; import { i18n } from '@kbn/i18n'; import { BucketAggType } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; @@ -101,7 +101,7 @@ export const getIpRangeBucketAgg = ({ getInternalStartServices }: IpRangeBucketA let ranges = aggConfig.params.ranges[ipRangeType]; if (ipRangeType === IP_RANGE_TYPES.FROM_TO) { - ranges = map(ranges, (range: any) => omit(range, isNull)); + ranges = map(ranges, (range: any) => omitBy(range, isNull)); } output.params.ranges = ranges; diff --git a/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts b/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts index 50b260b3acb76..017f646258c01 100644 --- a/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts +++ b/src/plugins/data/public/search/aggs/buckets/lib/time_buckets/time_buckets.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString, isObject as isObjectLodash, isPlainObject, sortBy } from 'lodash3'; +import { isString, isObject as isObjectLodash, isPlainObject, sortBy } from 'lodash'; import moment, { Moment } from 'moment'; import { parseInterval } from '../../../../../../common'; @@ -113,7 +113,7 @@ export class TimeBuckets { bounds = Array.isArray(input) ? input : []; } - const moments: Moment[] = sortBy(bounds, Number); + const moments: Moment[] = sortBy(bounds, Number) as Moment[]; const valid = moments.length === 2 && moments.every(isValidMoment); if (!valid) { diff --git a/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts b/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts index 1e9521e7a5086..8dc8b786fcfcd 100644 --- a/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts +++ b/src/plugins/data/public/search/aggs/buckets/migrate_include_exclude_format.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isString, isObject } from 'lodash3'; +import { isString, isObject } from 'lodash'; import { IBucketAggConfig, BucketAggType, BucketAggParam } from './bucket_agg_type'; import { IAggConfig } from '../agg_config'; @@ -52,7 +52,7 @@ export const migrateIncludeExcludeFormat = { output.params[this.name] = parsedValue; } } else if (isObject(value)) { - output.params[this.name] = value.pattern; + output.params[this.name] = (value as any).pattern; } else if (value && isStringType(aggConfig)) { output.params[this.name] = value; } diff --git a/src/plugins/data/public/search/aggs/buckets/terms.ts b/src/plugins/data/public/search/aggs/buckets/terms.ts index 480902fa7b9bd..57a5ebf72316c 100644 --- a/src/plugins/data/public/search/aggs/buckets/terms.ts +++ b/src/plugins/data/public/search/aggs/buckets/terms.ts @@ -17,7 +17,7 @@ * under the License. */ -import { noop } from 'lodash3'; +import { noop } from 'lodash'; import { i18n } from '@kbn/i18n'; import { BucketAggType, IBucketAggConfig } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; diff --git a/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts b/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts index b131a1e64d9fa..a30e426dd2390 100644 --- a/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts +++ b/src/plugins/data/public/search/aggs/metrics/bucket_avg.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { get } from 'lodash3'; +import { get } from 'lodash'; import { MetricAggType } from './metric_agg_type'; import { makeNestedLabel } from './lib/make_nested_label'; import { siblingPipelineAggHelper } from './lib/sibling_pipeline_agg_helper'; diff --git a/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts b/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts index 6c07e22bc4575..25d3a3ea90a4a 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/get_response_agg_config_class.ts @@ -17,7 +17,7 @@ * under the License. */ -import { assign } from 'lodash3'; +import { assignIn } from 'lodash'; import { IMetricAggConfig } from '../metric_agg_type'; /** @@ -69,7 +69,7 @@ export const create = (parentAgg: IMetricAggConfig, props: Partial { diff --git a/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts b/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts index 5ae060390a659..18ee6b4de3204 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/ordinal_suffix.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { forOwn } from 'lodash3'; +import { forOwn } from 'lodash'; import { ordinalSuffix } from './ordinal_suffix'; describe('ordinal suffix util', () => { diff --git a/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts b/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts index 7fb6dcb1c7409..73acd26860076 100644 --- a/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts +++ b/src/plugins/data/public/search/aggs/metrics/lib/parent_pipeline_agg_helper.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { noop } from 'lodash3'; +import { noop } from 'lodash'; import { forwardModifyAggConfigOnSearchRequestStart } from './nested_agg_helpers'; import { IMetricAggConfig, MetricAggParam } from '../metric_agg_type'; diff --git a/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts b/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts index dc88ea4ae7375..980d969a8ea0c 100644 --- a/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts +++ b/src/plugins/data/public/search/aggs/metrics/percentiles_get_value.ts @@ -17,7 +17,7 @@ * under the License. */ -import { find } from 'lodash3'; +import { find } from 'lodash'; import { IResponseAggConfig } from './lib/get_response_agg_config_class'; export const getPercentileValue = ( diff --git a/src/plugins/data/public/search/aggs/metrics/std_deviation.ts b/src/plugins/data/public/search/aggs/metrics/std_deviation.ts index 29f67cc827598..5d987dc2cbbe9 100644 --- a/src/plugins/data/public/search/aggs/metrics/std_deviation.ts +++ b/src/plugins/data/public/search/aggs/metrics/std_deviation.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { MetricAggType } from './metric_agg_type'; import { METRIC_TYPES } from './metric_agg_types'; @@ -116,7 +116,7 @@ export const getStdDeviationMetricAgg = ({ }, getValue(agg, bucket) { - return get(bucket[agg.parentId], agg.valProp()); + return get(bucket[agg.parentId], agg.valProp() as any); }, }, { diff --git a/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts b/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts index ece836f063e3f..94a970a72a46f 100644 --- a/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts +++ b/src/plugins/data/public/search/aggs/metrics/top_hit.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { dropRight, last } from 'lodash3'; +import { dropRight, last } from 'lodash'; import { getTopHitMetricAgg, TopHitMetricAggDependencies } from './top_hit'; import { AggConfigs } from '../agg_configs'; import { mockAggTypesRegistry } from '../test_helpers'; diff --git a/src/plugins/data/public/search/aggs/metrics/top_hit.ts b/src/plugins/data/public/search/aggs/metrics/top_hit.ts index c6b87c303e319..c6890f98b20e4 100644 --- a/src/plugins/data/public/search/aggs/metrics/top_hit.ts +++ b/src/plugins/data/public/search/aggs/metrics/top_hit.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { i18n } from '@kbn/i18n'; import { IMetricAggConfig, MetricAggType } from './metric_agg_type'; import { METRIC_TYPES } from './metric_agg_types'; diff --git a/src/plugins/data/public/search/aggs/param_types/json.ts b/src/plugins/data/public/search/aggs/param_types/json.ts index 9a939d22e76c3..492d8ce0f8a4b 100644 --- a/src/plugins/data/public/search/aggs/param_types/json.ts +++ b/src/plugins/data/public/search/aggs/param_types/json.ts @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import { IAggConfig } from '../agg_config'; import { BaseParamType } from './base'; @@ -49,7 +49,7 @@ export class JsonParamType extends BaseParamType { return _(a) .keys() .union(_.keys(b)) - .transform(function (dest, key) { + .transform(function (dest: any, key) { const val = compare(a[key], b[key]); if (val !== undefined) dest[key] = val; }, {}) diff --git a/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts b/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts index f5b8935240e1b..aa27bab8f4bd8 100644 --- a/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts +++ b/src/plugins/data/public/search/aggs/test_helpers/function_wrapper.ts @@ -17,7 +17,7 @@ * under the License. */ -import { mapValues } from 'lodash3'; +import { mapValues } from 'lodash'; import { AnyExpressionFunctionDefinition, ExpressionFunctionDefinition, diff --git a/src/plugins/data/public/search/aggs/utils/get_format_with_aggs.test.ts b/src/plugins/data/public/search/aggs/utils/get_format_with_aggs.test.ts index 3363831c27db4..3b440bc50c93b 100644 --- a/src/plugins/data/public/search/aggs/utils/get_format_with_aggs.test.ts +++ b/src/plugins/data/public/search/aggs/utils/get_format_with_aggs.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { identity } from 'lodash3'; +import { identity } from 'lodash'; import { SerializedFieldFormat } from '../../../../../expressions/common/types'; import { FieldFormat } from '../../../../common'; diff --git a/src/plugins/data/public/search/aggs/utils/prop_filter.ts b/src/plugins/data/public/search/aggs/utils/prop_filter.ts index 50d91878010f5..cad5c437fc896 100644 --- a/src/plugins/data/public/search/aggs/utils/prop_filter.ts +++ b/src/plugins/data/public/search/aggs/utils/prop_filter.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isFunction } from 'lodash3'; +import { isFunction } from 'lodash'; type FilterFunc

= (item: T[P]) => boolean; diff --git a/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts b/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts index 17aa821d8166a..c4846a98f124f 100644 --- a/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts +++ b/src/plugins/data/public/search/expressions/build_tabular_inspector_data.ts @@ -17,7 +17,7 @@ * under the License. */ -import { set } from 'lodash3'; +import { set } from 'lodash'; import { FormattedData } from '../../../../../plugins/inspector/public'; import { FormatFactory } from '../../../common/field_formats/utils'; import { TabbedTable } from '../tabify'; diff --git a/src/plugins/data/public/search/expressions/esaggs.ts b/src/plugins/data/public/search/expressions/esaggs.ts index da481d8b907a7..c2446e9cc5555 100644 --- a/src/plugins/data/public/search/expressions/esaggs.ts +++ b/src/plugins/data/public/search/expressions/esaggs.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, has } from 'lodash3'; +import { get, hasIn } from 'lodash'; import { i18n } from '@kbn/i18n'; import { KibanaContext, @@ -195,7 +195,7 @@ const handleCourierRequest = async ({ // response data incorrectly in the inspector. let resp = (searchSource as any).rawResponse; for (const agg of aggs.aggs) { - if (has(agg, 'type.postFlightRequest')) { + if (hasIn(agg, 'type.postFlightRequest')) { resp = await agg.type.postFlightRequest( resp, aggs, @@ -302,7 +302,7 @@ export const esaggs = (): ExpressionFunctionDefinition + isObject(nsValue) ? {} : nsValue + ); } const esQueryConfigs = getEsQueryConfig(uiSettings); @@ -460,7 +473,7 @@ export class SearchSource { ]); let serializedSearchSourceFields: SearchSourceFields = { ...searchSourceFields, - index: searchSourceFields.index ? searchSourceFields.index.id : undefined, + index: (searchSourceFields.index ? searchSourceFields.index.id : undefined) as any, }; if (originalFilters) { const filters = this.getFilters(originalFilters); diff --git a/src/plugins/data/public/search/tabify/buckets.ts b/src/plugins/data/public/search/tabify/buckets.ts index 646a497c680f3..e6e5ba4e68ea3 100644 --- a/src/plugins/data/public/search/tabify/buckets.ts +++ b/src/plugins/data/public/search/tabify/buckets.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, isPlainObject, keys, findKey } from 'lodash3'; +import { get, isPlainObject, keys, findKey } from 'lodash'; import moment from 'moment'; import { IAggConfig } from '../aggs'; import { AggResponseBucket, TabbedRangeFilterParams, TimeRangeInformation } from './types'; diff --git a/src/plugins/data/public/search/tabify/get_columns.ts b/src/plugins/data/public/search/tabify/get_columns.ts index 72efd02705424..8c538288d2fea 100644 --- a/src/plugins/data/public/search/tabify/get_columns.ts +++ b/src/plugins/data/public/search/tabify/get_columns.ts @@ -17,7 +17,7 @@ * under the License. */ -import { groupBy } from 'lodash3'; +import { groupBy } from 'lodash'; import { IAggConfig } from '../aggs'; import { TabbedAggColumn } from './types'; diff --git a/src/plugins/data/public/search/tabify/response_writer.ts b/src/plugins/data/public/search/tabify/response_writer.ts index 8f4e15fbf2448..da9b59cc92791 100644 --- a/src/plugins/data/public/search/tabify/response_writer.ts +++ b/src/plugins/data/public/search/tabify/response_writer.ts @@ -17,7 +17,7 @@ * under the License. */ -import { isEmpty } from 'lodash3'; +import { isEmpty } from 'lodash'; import { IAggConfigs } from '../aggs'; import { tabifyGetColumns } from './get_columns'; diff --git a/src/plugins/data/public/search/tabify/tabify.ts b/src/plugins/data/public/search/tabify/tabify.ts index e2434c0438cb7..9cb55f94537c5 100644 --- a/src/plugins/data/public/search/tabify/tabify.ts +++ b/src/plugins/data/public/search/tabify/tabify.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { TabbedAggResponseWriter } from './response_writer'; import { TabifyBuckets } from './buckets'; import { TabbedResponseWriterOptions } from './types'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx index 7e33be6aa41e8..0e2bcc7581950 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/index.tsx @@ -34,7 +34,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { get } from 'lodash3'; +import { get } from 'lodash'; import React, { Component } from 'react'; import { GenericComboBox, GenericComboBoxProps } from './generic_combo_box'; import { diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx index 119bb7aabfab0..8e8054ac204d9 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_suggestor.tsx @@ -18,7 +18,7 @@ */ import React from 'react'; -import { debounce } from 'lodash3'; +import { debounce } from 'lodash'; import { withKibana, KibanaReactContextValue } from '../../../../../kibana_react/public'; import { IDataPluginServices, IIndexPattern, IFieldType } from '../../..'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx index 8eb4899a888d0..ca94970afbafd 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/phrase_value_input.tsx @@ -19,7 +19,7 @@ import { EuiFormRow } from '@elastic/eui'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { uniq } from 'lodash3'; +import { uniq } from 'lodash'; import React from 'react'; import { GenericComboBox, GenericComboBoxProps } from './generic_combo_box'; import { PhraseSuggestorUI, PhraseSuggestorProps } from './phrase_suggestor'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx index e5dd8ba59cbc2..7ca46f60bba5b 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/phrases_values_input.tsx @@ -19,7 +19,7 @@ import { EuiFormRow } from '@elastic/eui'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { uniq } from 'lodash3'; +import { uniq } from 'lodash'; import React from 'react'; import { GenericComboBox, GenericComboBoxProps } from './generic_combo_box'; import { PhraseSuggestorUI, PhraseSuggestorProps } from './phrase_suggestor'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx index 24d1f92fdedad..65b842f0bd4aa 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/range_value_input.tsx @@ -19,7 +19,7 @@ import { EuiIcon, EuiLink, EuiFormHelpText, EuiFormControlLayoutDelimited } from '@elastic/eui'; import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { get } from 'lodash3'; +import { get } from 'lodash'; import React from 'react'; import { useKibana } from '../../../../../kibana_react/public'; import { IFieldType } from '../../..'; diff --git a/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx b/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx index c7c7c88615480..3737dae1bf9ef 100644 --- a/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx +++ b/src/plugins/data/public/ui/filter_bar/filter_editor/value_input_type.tsx @@ -19,7 +19,7 @@ import { EuiFieldNumber, EuiFieldText, EuiSelect } from '@elastic/eui'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; -import { isEmpty } from 'lodash3'; +import { isEmpty } from 'lodash'; import React, { Component } from 'react'; import { validateParams } from './lib/filter_editor_utils'; diff --git a/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx b/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx index 36f06a1621b08..20e3fdae5ce5f 100644 --- a/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx +++ b/src/plugins/data/public/ui/index_pattern_select/index_pattern_select.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import React, { Component } from 'react'; import { Required } from '@kbn/utility-types'; diff --git a/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts b/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts index 98daa07e87948..127dc0f1f41d3 100644 --- a/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts +++ b/src/plugins/data/public/ui/query_string_input/fetch_index_patterns.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { isEmpty } from 'lodash3'; +import { isEmpty } from 'lodash'; import { IUiSettingsClient, SavedObjectsClientContract } from 'src/core/public'; import { indexPatterns, IndexPatternAttributes } from '../..'; diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts b/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts index bac4d56256569..12222ee7ad267 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts @@ -39,9 +39,9 @@ jest.mock('./fetch_index_patterns', () => ({ fetchIndexPatterns: mockFetchIndexPatterns, })); -import _ from 'lodash3'; -// Using doMock to avoid hoisting so that I can override only the debounce method in lodash3 -jest.doMock('lodash3', () => ({ +import _ from 'lodash'; +// Using doMock to avoid hoisting so that I can override only the debounce method in lodash +jest.doMock('lodash', () => ({ ..._, debounce: (func: () => any) => func, })); diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.tsx b/src/plugins/data/public/ui/query_string_input/query_string_input.tsx index 7028072641984..32295745ce217 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.tsx +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.tsx @@ -32,7 +32,7 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { debounce, compact, isEqual } from 'lodash3'; +import { debounce, compact, isEqual } from 'lodash'; import { Toast } from 'src/core/public'; import { IDataPluginServices, IIndexPattern, Query } from '../..'; import { QuerySuggestion, QuerySuggestionTypes } from '../../autocomplete'; diff --git a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx index 7dcdf98caa4da..c61625dc06c18 100644 --- a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx +++ b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx @@ -34,7 +34,7 @@ import { EuiText, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { sortBy, isEqual } from 'lodash3'; +import { sortBy, isEqual } from 'lodash'; import { SavedQuery, SavedQueryService } from '../..'; import { SavedQueryAttributes } from '../../query'; diff --git a/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx b/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx index e93281879a70f..6108de0280183 100644 --- a/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx +++ b/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx @@ -34,7 +34,7 @@ import { import { i18n } from '@kbn/i18n'; import React, { useEffect, useState, Fragment, useRef } from 'react'; -import { sortBy } from 'lodash3'; +import { sortBy } from 'lodash'; import { SavedQuery, SavedQueryService } from '../..'; import { SavedQueryListItem } from './saved_query_list_item'; diff --git a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx index 62af1f382b84f..f8b7e4f480911 100644 --- a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx @@ -17,7 +17,7 @@ * under the License. */ -import _ from 'lodash3'; +import _ from 'lodash'; import React, { useState, useEffect, useRef } from 'react'; import { CoreStart } from 'src/core/public'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; diff --git a/src/plugins/data/public/ui/search_bar/search_bar.tsx b/src/plugins/data/public/ui/search_bar/search_bar.tsx index 01bbe8497224e..2f740cc476087 100644 --- a/src/plugins/data/public/ui/search_bar/search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/search_bar.tsx @@ -17,12 +17,12 @@ * under the License. */ -import { compact } from 'lodash3'; +import { compact } from 'lodash'; import { InjectedIntl, injectI18n } from '@kbn/i18n/react'; import classNames from 'classnames'; import React, { Component } from 'react'; import ResizeObserver from 'resize-observer-polyfill'; -import { get, isEqual } from 'lodash3'; +import { get, isEqual } from 'lodash'; import { withKibana, KibanaReactContextValue } from '../../../../kibana_react/public'; diff --git a/src/plugins/data/public/ui/typeahead/suggestions_component.tsx b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx index 6a7eff919e087..77dd7dcec01ee 100644 --- a/src/plugins/data/public/ui/typeahead/suggestions_component.tsx +++ b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx @@ -17,7 +17,7 @@ * under the License. */ -import { isEmpty } from 'lodash3'; +import { isEmpty } from 'lodash'; import React, { Component } from 'react'; import { QuerySuggestion } from '../../autocomplete'; import { SuggestionComponent } from './suggestion_component'; diff --git a/src/plugins/data/server/autocomplete/value_suggestions_route.ts b/src/plugins/data/server/autocomplete/value_suggestions_route.ts index 72a314dd86490..f68d7e1552ccb 100644 --- a/src/plugins/data/server/autocomplete/value_suggestions_route.ts +++ b/src/plugins/data/server/autocomplete/value_suggestions_route.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get, map } from 'lodash3'; +import { get, map } from 'lodash'; import { schema } from '@kbn/config-schema'; import { IRouter, SharedGlobalConfig } from 'kibana/server'; diff --git a/src/plugins/data/server/field_formats/converters/date_server.ts b/src/plugins/data/server/field_formats/converters/date_server.ts index bd5d80af91884..85eb65dfc6a8d 100644 --- a/src/plugins/data/server/field_formats/converters/date_server.ts +++ b/src/plugins/data/server/field_formats/converters/date_server.ts @@ -18,7 +18,7 @@ */ import { i18n } from '@kbn/i18n'; -import { memoize, noop } from 'lodash3'; +import { memoize, noop } from 'lodash'; import moment from 'moment-timezone'; import { FieldFormat, diff --git a/src/plugins/data/server/field_formats/field_formats_service.ts b/src/plugins/data/server/field_formats/field_formats_service.ts index a4b4148e9db8d..70584efbee0a0 100644 --- a/src/plugins/data/server/field_formats/field_formats_service.ts +++ b/src/plugins/data/server/field_formats/field_formats_service.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { has } from 'lodash3'; +import { has } from 'lodash'; import { FieldFormatsRegistry, FieldFormatInstanceType, diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts b/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts index e2bb9b8ff320f..e5a96c67c56b5 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/errors.ts @@ -18,7 +18,7 @@ */ import Boom from 'boom'; -import { get } from 'lodash3'; +import { get } from 'lodash'; const ERR_ES_INDEX_NOT_FOUND = 'index_not_found_exception'; const ERR_NO_MATCHING_INDICES = 'no_matching_indices'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js index 3dca8dbdb9464..a0af7582ac6f3 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.test.js @@ -19,7 +19,7 @@ /* eslint import/no-duplicates: 0 */ import sinon from 'sinon'; -import { identity, shuffle, sortBy } from 'lodash3'; +import { identity, shuffle, sortBy } from 'lodash'; import { getFieldCapabilities } from '../field_capabilities'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts index 507b847825f03..b4b86b73a5f4a 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_capabilities.ts @@ -17,7 +17,7 @@ * under the License. */ -import { defaults, indexBy, sortBy } from 'lodash3'; +import { defaults, keyBy, sortBy } from 'lodash'; import { LegacyAPICaller } from 'kibana/server'; import { callFieldCapsApi } from '../es_api'; @@ -44,7 +44,7 @@ export async function getFieldCapabilities( metaFields: string[] = [] ) { const esFieldCaps: FieldCapsResponse = await callFieldCapsApi(callCluster, indices); - const fieldsFromFieldCapsByName = indexBy(readFieldCapsResponse(esFieldCaps), 'name'); + const fieldsFromFieldCapsByName = keyBy(readFieldCapsResponse(esFieldCaps), 'name'); const allFieldsUnsorted = Object.keys(fieldsFromFieldCapsByName) .filter((name) => !name.startsWith('_')) diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js index 69fcecf52c6bf..1a4e2b1fe9ee2 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.test.js @@ -18,7 +18,7 @@ */ /* eslint import/no-duplicates: 0 */ -import { cloneDeep, omit } from 'lodash3'; +import { cloneDeep, omit } from 'lodash'; import sinon from 'sinon'; import * as shouldReadFieldFromDocValuesNS from './should_read_field_from_doc_values'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts index 19c1a2a4bef12..cb1ec6a2ebcf3 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/field_caps_response.ts @@ -17,7 +17,7 @@ * under the License. */ -import { uniq } from 'lodash3'; +import { uniq } from 'lodash'; import { castEsToKbnFieldTypeName } from '../../../../../common'; import { shouldReadFieldFromDocValues } from './should_read_field_from_doc_values'; import { FieldDescriptor } from '../../../fetcher'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts index 974da07edde74..518bfeccac01a 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/field_capabilities/overrides.ts @@ -17,7 +17,7 @@ * under the License. */ -import { merge } from 'lodash3'; +import { merge } from 'lodash'; import { FieldDescriptor } from '../../index_patterns_fetcher'; const OVERRIDES: Record> = { diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js index fa35d4090c792..660e9ec30db6a 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js +++ b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.test.js @@ -19,7 +19,7 @@ /* eslint import/no-duplicates: 0 */ import sinon from 'sinon'; -import { noop } from 'lodash3'; +import { noop } from 'lodash'; import { callIndexAliasApi } from './es_api'; import * as callIndexAliasApiNS from './es_api'; diff --git a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts index cd27853e54590..2e408d7569be5 100644 --- a/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts +++ b/src/plugins/data/server/index_patterns/fetcher/lib/resolve_time_pattern.ts @@ -17,7 +17,7 @@ * under the License. */ -import { chain } from 'lodash3'; +import { chain } from 'lodash'; import moment from 'moment'; import { LegacyAPICaller } from 'kibana/server'; @@ -46,7 +46,7 @@ export async function resolveTimePattern(callCluster: LegacyAPICaller, timePatte [] ) .sortBy((indexName: string) => indexName) - .uniq(true) + .sortedUniq() .map((indexName) => { const parsed = moment(indexName, timePattern, true); if (!parsed.isValid()) { @@ -65,7 +65,7 @@ export async function resolveTimePattern(callCluster: LegacyAPICaller, timePatte isMatch: indexName === parsed.format(timePattern), }; }) - .sortByOrder(['valid', 'order'], ['desc', 'desc']) + .orderBy(['valid', 'order'], ['desc', 'desc']) .value(); return { diff --git a/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts b/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts index fb0a804862db0..109d6f812334d 100644 --- a/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts +++ b/src/plugins/data/server/kql_telemetry/usage_collector/fetch.ts @@ -17,7 +17,7 @@ * under the License. */ -import { get } from 'lodash3'; +import { get } from 'lodash'; import { LegacyAPICaller } from 'kibana/server'; import { DEFAULT_QUERY_LANGUAGE, UI_SETTINGS } from '../../../common'; diff --git a/src/plugins/data/server/saved_objects/index_pattern_migrations.ts b/src/plugins/data/server/saved_objects/index_pattern_migrations.ts index 7f522906b9dfe..768041a376ad1 100644 --- a/src/plugins/data/server/saved_objects/index_pattern_migrations.ts +++ b/src/plugins/data/server/saved_objects/index_pattern_migrations.ts @@ -17,7 +17,7 @@ * under the License. */ -import { flow, omit } from 'lodash3'; +import { flow, omit } from 'lodash'; import { SavedObjectMigrationFn } from 'kibana/server'; const migrateAttributeTypeAndAttributeTypeMeta: SavedObjectMigrationFn = (doc) => ({ @@ -55,6 +55,6 @@ const migrateSubTypeAndParentFieldProperties: SavedObjectMigrationFn = }; export const indexPatternSavedObjectTypeMigrations = { - '6.5.0': flow(migrateAttributeTypeAndAttributeTypeMeta), - '7.6.0': flow(migrateSubTypeAndParentFieldProperties), + '6.5.0': flow(migrateAttributeTypeAndAttributeTypeMeta), + '7.6.0': flow(migrateSubTypeAndParentFieldProperties), }; diff --git a/src/plugins/data/server/saved_objects/index_patterns.ts b/src/plugins/data/server/saved_objects/index_patterns.ts index 902cf2988f429..44d2813f6e3e8 100644 --- a/src/plugins/data/server/saved_objects/index_patterns.ts +++ b/src/plugins/data/server/saved_objects/index_patterns.ts @@ -54,5 +54,5 @@ export const indexPatternSavedObjectType: SavedObjectsType = { typeMeta: { type: 'keyword' }, }, }, - migrations: indexPatternSavedObjectTypeMigrations, + migrations: indexPatternSavedObjectTypeMigrations as any, }; diff --git a/src/plugins/data/server/saved_objects/search.ts b/src/plugins/data/server/saved_objects/search.ts index 437c83f67bf5d..16caaf05a0fc6 100644 --- a/src/plugins/data/server/saved_objects/search.ts +++ b/src/plugins/data/server/saved_objects/search.ts @@ -56,5 +56,5 @@ export const searchSavedObjectType: SavedObjectsType = { version: { type: 'integer' }, }, }, - migrations: searchSavedObjectTypeMigrations, + migrations: searchSavedObjectTypeMigrations as any, }; diff --git a/src/plugins/data/server/saved_objects/search_migrations.ts b/src/plugins/data/server/saved_objects/search_migrations.ts index 10b85a860d0f4..9bba429f8d71b 100644 --- a/src/plugins/data/server/saved_objects/search_migrations.ts +++ b/src/plugins/data/server/saved_objects/search_migrations.ts @@ -17,12 +17,12 @@ * under the License. */ -import { flow, get } from 'lodash3'; +import { flow, get } from 'lodash'; import { SavedObjectMigrationFn } from 'kibana/server'; import { DEFAULT_QUERY_LANGUAGE } from '../../common'; const migrateMatchAllQuery: SavedObjectMigrationFn = (doc) => { - const searchSourceJSON = get(doc, 'attributes.kibanaSavedObjectMeta.searchSourceJSON'); + const searchSourceJSON = get(doc, 'attributes.kibanaSavedObjectMeta.searchSourceJSON'); if (searchSourceJSON) { let searchSource: any; @@ -122,7 +122,7 @@ const migrateSearchSortToNestedArray: SavedObjectMigrationFn = (doc) = }; export const searchSavedObjectTypeMigrations = { - '6.7.2': flow>(migrateMatchAllQuery), - '7.0.0': flow>(setNewReferences), - '7.4.0': flow>(migrateSearchSortToNestedArray), + '6.7.2': flow(migrateMatchAllQuery), + '7.0.0': flow(setNewReferences), + '7.4.0': flow(migrateSearchSortToNestedArray), }; From a35a21a3572ffcc1b01f7a334cf2aa95c9eef11d Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 2 Jul 2020 05:17:24 +0100 Subject: [PATCH 32/37] chore(NA): remove lodash3 completely from the repo --- .eslintrc.js | 20 -------------------- package.json | 2 -- renovate.json5 | 8 -------- yarn.lock | 20 ++++++++++---------- 4 files changed, 10 insertions(+), 40 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 3a20dcc965e4f..8d979dc0f8645 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1041,26 +1041,6 @@ module.exports = { }, }, - /** - * Lodash@3 to Lodash@4 migration help rule - */ - { - files: ['**/*'], - excludedFiles: ['src/plugins/data/**/*', 'src/plugins/vis_type_vislib/**/*'], - rules: { - '@kbn/eslint/module_migration': [ - 'error', - [ - { - from: 'lodash3', - to: 'lodash', - disallowedMessage: `Don't use 'lodash3', use the new lodash@4 with 'lodash'`, - }, - ], - ], - }, - }, - { files: [ // platform-team owned code diff --git a/package.json b/package.json index 4eab0b3d4b07d..b9d4436d656ab 100644 --- a/package.json +++ b/package.json @@ -215,7 +215,6 @@ "less": "npm:@elastic/less@2.7.3-kibana", "less-loader": "5.0.0", "lodash": "^4.17.15", - "lodash3": "npm:@elastic/lodash@3.10.1-kibana4", "lru-cache": "4.1.5", "markdown-it": "^10.0.0", "mini-css-extract-plugin": "0.8.0", @@ -357,7 +356,6 @@ "@types/license-checker": "15.0.0", "@types/listr": "^0.14.0", "@types/lodash": "^4.14.155", - "@types/lodash3": "npm:@types/lodash@^3.10.1", "@types/lru-cache": "^5.1.0", "@types/markdown-it": "^0.0.7", "@types/minimatch": "^2.0.29", diff --git a/renovate.json5 b/renovate.json5 index 565c93dabf134..5a807b4b090c1 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -557,14 +557,6 @@ '@types/lodash', ], }, - { - groupSlug: 'lodash3', - groupName: 'lodash3 related packages', - packageNames: [ - 'lodash3', - '@types/lodash3', - ], - }, { groupSlug: 'log-symbols', groupName: 'log-symbols related packages', diff --git a/yarn.lock b/yarn.lock index 9979c060ce598..950f2f840daa6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5322,16 +5322,16 @@ "@types/node" "*" "@types/webpack" "*" -"@types/lodash3@npm:@types/lodash@^3.10.1", "@types/lodash@^3.10.1": - version "3.10.3" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" - integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== - "@types/lodash@4.14.149", "@types/lodash@^4.14.155": version "4.14.156" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.156.tgz#cbe30909c89a1feeb7c60803e785344ea0ec82d1" integrity sha512-l2AgHXcKUwx2DsvP19wtRPqZ4NkONjmorOdq4sMcxIjqdIuuV/ULo2ftuv4NUpevwfW7Ju/UKLqo0ZXuEt/8lQ== +"@types/lodash@^3.10.1": + version "3.10.3" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-3.10.3.tgz#aaddec6a3c93bf03b402db3acf5d4c77bce8bdff" + integrity sha512-b9zScBKmB/RJqETbxu3YRya61vJOik89/lR+NdxjZAFMDcMSjwX6IhQoP4terJkhsa9TE1C+l6XwxCkhhsaZXg== + "@types/lodash@^4.14.116": version "4.14.150" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" @@ -20875,11 +20875,6 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash3@npm:@elastic/lodash@3.10.1-kibana4", "lodash@npm:@elastic/lodash@3.10.1-kibana4": - version "3.10.1-kibana4" - resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" - integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== - lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -20890,6 +20885,11 @@ lodash@^3.10.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= +"lodash@npm:@elastic/lodash@3.10.1-kibana4": + version "3.10.1-kibana4" + resolved "https://registry.yarnpkg.com/@elastic/lodash/-/lodash-3.10.1-kibana4.tgz#d491228fd659b4a1b0dfa08ba9c67a4979b9746d" + integrity sha512-geQqXd9ZedRCL+kq5cpeahYWYaYRV0BMXhCwzq4DpnGCVs430FTMS3Wcot3XChZZhCvkwHm15bpNjB312vPxaA== + log-ok@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/log-ok/-/log-ok-0.1.1.tgz#bea3dd36acd0b8a7240d78736b5b97c65444a334" From 9a775d8fcc858ce805dc1bffe4af24dccd8d9b9c Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 2 Jul 2020 11:34:58 +0100 Subject: [PATCH 33/37] chore(NA): fix x-pack/test/api_integration/apis/metrics_ui/snapshot.ts missing content --- .../apis/metrics_ui/snapshot.ts | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts b/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts index e235889f1de02..bb0934b73a4c7 100644 --- a/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts +++ b/x-pack/test/api_integration/apis/metrics_ui/snapshot.ts @@ -182,12 +182,14 @@ export default function ({ getService }: FtrProviderContext) { expect(first(firstNode.path)).to.have.property('value', 'demo-stack-mysql-01'); expect(first(firstNode.path)).to.have.property('label', 'demo-stack-mysql-01'); expect(firstNode).to.have.property('metrics'); - expect(firstNode.metrics).to.eql({ - name: 'cpu', - value: 0.0032, - max: 0.0038333333333333336, - avg: 0.002794444444444445, - }); + expect(firstNode.metrics).to.eql([ + { + name: 'cpu', + value: 0.0032, + max: 0.0038333333333333336, + avg: 0.002794444444444445, + }, + ]); } }); }); @@ -382,24 +384,28 @@ export default function ({ getService }: FtrProviderContext) { expect(firstNode.path[0]).to.have.property('value', 'mysql'); expect(firstNode.path[1]).to.have.property('value', 'demo-stack-mysql-01'); expect(firstNode).to.have.property('metrics'); - expect(firstNode.metrics).to.eql({ - name: 'cpu', - value: 0.0032, - max: 0.0038333333333333336, - avg: 0.002794444444444445, - }); - const secondNode = nodes[1]; + expect(firstNode.metrics).to.eql([ + { + name: 'cpu', + value: 0.0032, + max: 0.0038333333333333336, + avg: 0.002794444444444445, + }, + ]); + const secondNode = nodes[1] as any; expect(secondNode).to.have.property('path'); expect(secondNode.path.length).to.equal(2); expect(secondNode.path[0]).to.have.property('value', 'system'); expect(secondNode.path[1]).to.have.property('value', 'demo-stack-mysql-01'); expect(secondNode).to.have.property('metrics'); - expect(secondNode.metrics).to.eql({ - name: 'cpu', - value: 0.0032, - max: 0.0038333333333333336, - avg: 0.002794444444444445, - }); + expect(secondNode.metrics).to.eql([ + { + name: 'cpu', + value: 0.0032, + max: 0.0038333333333333336, + avg: 0.002794444444444445, + }, + ]); } }); }); From ce56693c39d2933dab3b396c1c8f64d43a7f9061 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 2 Jul 2020 15:53:18 +0100 Subject: [PATCH 34/37] chore(NA): fix lodash usage on apm --- .../plugins/apm/public/services/rest/observability_dashboard.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/apm/public/services/rest/observability_dashboard.ts b/x-pack/plugins/apm/public/services/rest/observability_dashboard.ts index 589199221d7a9..79ccf8dbd6f9b 100644 --- a/x-pack/plugins/apm/public/services/rest/observability_dashboard.ts +++ b/x-pack/plugins/apm/public/services/rest/observability_dashboard.ts @@ -5,7 +5,7 @@ */ import { i18n } from '@kbn/i18n'; -import mean from 'lodash.mean'; +import { mean } from 'lodash'; import { Theme } from '@kbn/ui-shared-deps/theme'; import { ApmFetchDataResponse, From 80a5f216b3d8d66e343d9a5925b4ea108d0191b6 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 2 Jul 2020 18:15:09 +0100 Subject: [PATCH 35/37] chore(NA): fix typecheck for maps --- .../mvt_single_layer_vector_source/update_source_editor.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/update_source_editor.tsx b/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/update_source_editor.tsx index a959912718197..8c2f5e271ff5c 100644 --- a/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/update_source_editor.tsx +++ b/x-pack/plugins/maps/public/classes/sources/mvt_single_layer_vector_source/update_source_editor.tsx @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ +import _ from 'lodash'; import React, { Component, Fragment } from 'react'; import { EuiTitle, EuiPanel, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; From dc10eb0ba818b6acf89a2f5aecc3285c12cf6a7f Mon Sep 17 00:00:00 2001 From: Brandon Kobel Date: Thu, 2 Jul 2020 13:52:30 -0700 Subject: [PATCH 36/37] Patch lodash template (#12) * Applying changes from https://github.com/elastic/kibana/pull/64985 * Using isIterateeCall, because it seems less brittle * Also patching `lodash/template` and `lodash/fp/template` * Reorganizing some files... * Revising comment --- .../{patches => harden}/child_process.js | 5 +- .../{harden.js => harden/index.js} | 7 +- src/setup_node_env/harden/lodash_template.js | 72 +++++++ test/harden/lodash_template.js | 181 ++++++++++++++++++ 4 files changed, 258 insertions(+), 7 deletions(-) rename src/setup_node_env/{patches => harden}/child_process.js (97%) rename src/setup_node_env/{harden.js => harden/index.js} (80%) create mode 100644 src/setup_node_env/harden/lodash_template.js create mode 100644 test/harden/lodash_template.js diff --git a/src/setup_node_env/patches/child_process.js b/src/setup_node_env/harden/child_process.js similarity index 97% rename from src/setup_node_env/patches/child_process.js rename to src/setup_node_env/harden/child_process.js index fb857b2092ee0..6b1ba779605c0 100644 --- a/src/setup_node_env/patches/child_process.js +++ b/src/setup_node_env/harden/child_process.js @@ -16,12 +16,13 @@ * specific language governing permissions and limitations * under the License. */ +var hook = require('require-in-the-middle'); // Ensure, when spawning a new child process, that the `options` and the // `options.env` object passed to the child process function doesn't inherit // from `Object.prototype`. This protects against similar RCE vulnerabilities // as described in CVE-2019-7609 -module.exports = function (cp) { +hook(['child_process'], function (cp) { // The `exec` function is currently just a wrapper around `execFile`. So for // now there's no need to patch it. If this changes in the future, our tests // will fail and we can uncomment the line below. @@ -36,7 +37,7 @@ module.exports = function (cp) { cp.spawnSync = new Proxy(cp.spawnSync, { apply: patchOptions(true) }); return cp; -}; +}); function patchOptions(hasArgs) { return function apply(target, thisArg, args) { diff --git a/src/setup_node_env/harden.js b/src/setup_node_env/harden/index.js similarity index 80% rename from src/setup_node_env/harden.js rename to src/setup_node_env/harden/index.js index dead3db1d60b4..25cb3bcd78ffb 100644 --- a/src/setup_node_env/harden.js +++ b/src/setup_node_env/harden/index.js @@ -17,8 +17,5 @@ * under the License. */ -var hook = require('require-in-the-middle'); - -hook(['child_process'], function (exports, name) { - return require(`./patches/${name}`)(exports); // eslint-disable-line import/no-dynamic-require -}); +require('./child_process'); +require('./lodash_template'); diff --git a/src/setup_node_env/harden/lodash_template.js b/src/setup_node_env/harden/lodash_template.js new file mode 100644 index 0000000000000..abd6d01823949 --- /dev/null +++ b/src/setup_node_env/harden/lodash_template.js @@ -0,0 +1,72 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +var hook = require('require-in-the-middle'); +var isIterateeCall = require('lodash/_isIterateeCall'); + +hook(['lodash'], function (lodash) { + return { + ...lodash, + template: createProxy(lodash.template), + }; +}); + +hook(['lodash/template'], function (template) { + return createProxy(template); +}); + +hook(['lodash/fp'], function (fp) { + return { + ...fp, + template: createFpProxy(fp.template), + }; +}); + +hook(['lodash/fp/template'], function (template) { + return createFpProxy(template); +}); + +function createProxy(template) { + return new Proxy(template, { + apply: function (target, thisArg, args) { + if (args.length === 1 || isIterateeCall(args)) { + return target.apply(thisArg, [args[0], { sourceURL: '' }]); + } + + var options = Object.assign({}, args[1]); + options.sourceURL = (options.sourceURL + '').replace(/\s/g, ' '); + var newArgs = args.slice(0); // copy + newArgs.splice(1, 1, options); // replace options in the copy + return target.apply(thisArg, newArgs); + }, + }); +} + +function createFpProxy(template) { + // we have to do the require here, so that we get the patched version + var _ = require('lodash'); + return new Proxy(template, { + apply: function (target, thisArg, args) { + // per https://github.com/lodash/lodash/wiki/FP-Guide + // > Iteratee arguments are capped to avoid gotchas with variadic iteratees. + // this means that we can't specify the options in the second argument to fp.template because it's ignored. + // Instead, we're going to use the non-FP _.template with only the first argument which has already been patched + return _.template(args[0]); + }, + }); +} diff --git a/test/harden/lodash_template.js b/test/harden/lodash_template.js new file mode 100644 index 0000000000000..170e3a8fba43e --- /dev/null +++ b/test/harden/lodash_template.js @@ -0,0 +1,181 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +require('../../src/setup_node_env'); +const _ = require('lodash'); +const template = require('lodash/template'); +const fp = require('lodash/fp'); +const fpTemplate = require('lodash/fp/template'); +const test = require('tape'); + +Object.prototype.sourceURL = '\u2028\u2029\n;global.whoops=true'; // eslint-disable-line no-extend-native + +test.onFinish(() => { + delete Object.prototype.sourceURL; +}); + +test('test setup ok', (t) => { + t.equal({}.sourceURL, '\u2028\u2029\n;global.whoops=true'); + t.end(); +}); + +[_.template, template].forEach((fn) => { + test(`_.template('<%= foo %>')`, (t) => { + const output = fn('<%= foo %>')({ foo: 'bar' }); + t.equal(output, 'bar'); + t.equal(global.whoops, undefined); + t.end(); + }); + + test(`_.template('<%= foo %>', {})`, (t) => { + const output = fn('<%= foo %>', Object.freeze({}))({ foo: 'bar' }); + t.equal(output, 'bar'); + t.equal(global.whoops, undefined); + t.end(); + }); + + test(`_.template('<%= data.foo %>', { variable: 'data' })`, (t) => { + const output = fn('<%= data.foo %>', Object.freeze({ variable: 'data' }))({ foo: 'bar' }); + t.equal(output, 'bar'); + t.equal(global.whoops, undefined); + t.end(); + }); + + test(`_.template('<%= foo %>', { sourceURL: '/foo/bar' })`, (t) => { + // throwing errors in the template and parsing the stack, which is a string, is super ugly, but all I know to do + const template = fn('<% throw new Error() %>', Object.freeze({ sourceURL: '/foo/bar' })); + t.plan(2); + try { + template(); + } catch (err) { + const path = parsePathFromStack(err.stack); + t.equal(path, '/foo/bar'); + t.equal(global.whoops, undefined); + } + }); + + test(`_.template('<%= foo %>', { sourceURL: '\\u2028\\u2029\\nglobal.whoops=true' })`, (t) => { + // throwing errors in the template and parsing the stack, which is a string, is super ugly, but all I know to do + const template = fn( + '<% throw new Error() %>', + Object.freeze({ sourceURL: '\u2028\u2029\nglobal.whoops=true' }) + ); + t.plan(2); + try { + template(); + } catch (err) { + const path = parsePathFromStack(err.stack); + t.equal(path, 'global.whoops=true'); + t.equal(global.whoops, undefined); + } + }); + + test(`_.template used as an iteratee call(`, (t) => { + const templateStrArr = ['<%= data.foo %>', 'example <%= data.foo %>']; + const output = _.map(templateStrArr, fn); + + t.equal(output[0]({ data: { foo: 'bar' } }), 'bar'); + t.equal(output[1]({ data: { foo: 'bar' } }), 'example bar'); + t.equal(global.whoops, undefined); + t.end(); + }); +}); + +[fp.template, fpTemplate].forEach((fn) => { + test(`fp.template('<%= foo %>')`, (t) => { + const output = fn('<%= foo %>')({ foo: 'bar' }); + t.equal(output, 'bar'); + t.equal(global.whoops, undefined); + t.end(); + }); + + test(`fp.template('<%= foo %>', {})`, (t) => { + // fp.template ignores the second argument, this is negligible in this situation since options is an empty object + const output = fn('<%= foo %>', Object.freeze({}))({ foo: 'bar' }); + t.equal(output, 'bar'); + t.equal(global.whoops, undefined); + t.end(); + }); + + test(`fp.template('<%= data.foo %>', { variable: 'data' })`, (t) => { + // fp.template ignores the second argument, this causes an error to be thrown + t.plan(2); + try { + fn('<%= data.foo %>', Object.freeze({ variable: 'data' }))({ foo: 'bar' }); + } catch (err) { + t.equal(err.message, 'data is not defined'); + t.equal(global.whoops, undefined); + } + }); + + test(`fp.template('<%= foo %>', { sourceURL: '/foo/bar' })`, (t) => { + // fp.template ignores the second argument, the sourceURL is ignored + // throwing errors in the template and parsing the stack, which is a string, is super ugly, but all I know to do + // our patching to hard-code the sourceURL and use non-FP _.template does slightly alter the stack-traces but it's negligible + const template = fn('<% throw new Error() %>', Object.freeze({ sourceURL: '/foo/bar' })); + t.plan(3); + try { + template(); + } catch (err) { + const path = parsePathFromStack(err.stack); + t.match(path, /^eval at /); + t.doesNotMatch(path, /\/foo\/bar/); + t.equal(global.whoops, undefined); + } + }); + + test(`fp.template('<%= foo %>', { sourceURL: '\\u2028\\u2029\\nglobal.whoops=true' })`, (t) => { + // fp.template ignores the second argument, the sourceURL is ignored + // throwing errors in the template and parsing the stack, which is a string, is super ugly, but all I know to do + // our patching to hard-code the sourceURL and use non-FP _.template does slightly alter the stack-traces but it's negligible + const template = fn( + '<% throw new Error() %>', + Object.freeze({ sourceURL: '\u2028\u2029\nglobal.whoops=true' }) + ); + t.plan(3); + try { + template(); + } catch (err) { + const path = parsePathFromStack(err.stack); + t.match(path, /^eval at /); + t.doesNotMatch(path, /\/foo\/bar/); + t.equal(global.whoops, undefined); + } + }); + + test(`fp.template used as an iteratee call(`, (t) => { + const templateStrArr = ['<%= data.foo %>', 'example <%= data.foo %>']; + const output = fp.map(fn)(templateStrArr); + + t.equal(output[0]({ data: { foo: 'bar' } }), 'bar'); + t.equal(output[1]({ data: { foo: 'bar' } }), 'example bar'); + t.equal(global.whoops, undefined); + t.end(); + }); +}); + +function parsePathFromStack(stack) { + const lines = stack.split('\n'); + // the frame starts at the second line + const frame = lines[1]; + + // the path is in parathensis, and ends with a colon before the line/column numbers + const [, path] = /\(([^:]+)/.exec(frame); + return path; +} From 68796f0c695b13fcf93de4eb2e25c89eeff3962e Mon Sep 17 00:00:00 2001 From: kobelb Date: Thu, 2 Jul 2020 15:24:23 -0700 Subject: [PATCH 37/37] Ends up `_` is a function also... I hate JavaScript --- src/setup_node_env/harden/lodash_template.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/setup_node_env/harden/lodash_template.js b/src/setup_node_env/harden/lodash_template.js index abd6d01823949..2add624f9f326 100644 --- a/src/setup_node_env/harden/lodash_template.js +++ b/src/setup_node_env/harden/lodash_template.js @@ -20,10 +20,8 @@ var hook = require('require-in-the-middle'); var isIterateeCall = require('lodash/_isIterateeCall'); hook(['lodash'], function (lodash) { - return { - ...lodash, - template: createProxy(lodash.template), - }; + lodash.template = createProxy(lodash.template); + return lodash; }); hook(['lodash/template'], function (template) { @@ -31,10 +29,8 @@ hook(['lodash/template'], function (template) { }); hook(['lodash/fp'], function (fp) { - return { - ...fp, - template: createFpProxy(fp.template), - }; + fp.template = createFpProxy(fp.template); + return fp; }); hook(['lodash/fp/template'], function (template) {