From 2d652e1313a64f55bae994833324ad8116738254 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 24 Aug 2023 17:27:13 +0100 Subject: [PATCH] chore(NA): upgrade typescript into v4.7.4 (#162738) This PR bumps the Typescript version used on Kibana into v4.7.4. During the upgrade I got the impression the majority of the failures were too specific to the codebase so instead of making assumptions I choose to marked a lot of them with `@ts-expect-error` and let each team decide how to handle it. Next you can find a list of files with those comments and the teams to who they belong to. I would appreciate the collaboration from each team on fixing those. I'm not opposed on fixing those in subsequent PRs after this one have been merged, just wanted to elaborate that list for a good follow up: @elastic/kibana-core - [x] [packages/core/http/core-http-router-server-internal/src/request.ts](https://github.com/elastic/kibana/pull/162738/files#diff-c1f4a8c013c6ff9c5170803322414cb002f70331b23e45c55f075258c678410a) @elastic/kibana-data-discovery - [x] [src/plugins/discover/public/components/doc_table/components/table_row.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9106b254a57e73fc6f0b2e01f9aff1abbd26f1a0999e6fa998f1b45d3013038f) @elastic/kibana-visualizations - [x] [src/plugins/expressions/common/execution/execution.ts](https://github.com/elastic/kibana/pull/162738/files#diff-47bf3af7472c08ede90f86575ee7db4b8a2c949b1fb61400410ed16a8d819667) - [x] [src/plugins/expressions/common/expression_functions/expression_function_parameter.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3bcaa3c50f2297ff990c7ac83a1c2d36a79e6706a09082c3c48a911713afe950) - [x] [src/plugins/vis_types/heatmap/public/editor/components/labels_panel.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-345db24d53f4158414480b890fa43d1f8a454b67313de79602fda081279cbc4f) - [x] [src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-1c346b41cf025ff4f4e07b6d6dcdd1451cbaa758f9a9e8c72a9801d3fbbdfda2) @elastic/kibana-presentation - [x] [x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts](https://github.com/elastic/kibana/pull/162738/files#diff-56858ed9be77830ab218eab1960337240926609c5a1593b3960b35660ef81359) @elastic/response-ops - [x] [x-pack/plugins/cases/public/components/create/form.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-c5c415f1f56ca986f4bb59e65490b5e0fc77a86092240c0c1a26c141dba07818) - [x] [x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-ab038916f6fed59e18b0a72ce8e823e88d115afdb2704010d0fa8656b66702df) - [x] [x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-3f91aa93f7e6514c0479a37a76d6e9a53646d4eaf5dcd0db64437eadf1eee6b6) - [x] [x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-fbf1d6d0104c11c3f3690d29edf06000b5a63a858bb22b7d04d1f96a45133b07) - [x] [x-pack/plugins/triggers_actions_ui/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5) - [x] [x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-8e2ca70700895b17125532779945a1d0ab9076b4d4db304c065b47f82b6628a5) @elastic/fleet - [x] [x-pack/plugins/fleet/common/experimental_features.ts](https://github.com/elastic/kibana/pull/162738/files#diff-a852b157b5ff1d6dbf321ea8a25f0020d8f88cd458378cc9de8ef25ce28c9414) - [x] [x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-9eea0be0f9341dd6369720ce7b11bff69dda51230337ebbae921f6abde187bd2) - [x] [x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-844d5f9707b739d25f2b73bd34c45c21e2e5d573b3238c13130a0d1c1db092dc) - [x] [x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-f88d92abbc549ddc95d693bf3a3bc9752613cf74f1e859a01ca61d572e031b11) - [x] [x-pack/plugins/fleet/server/mocks/index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-d3f3e436b158ac2d877b7be9d57642855f89b0149cc28735811443da45bb079f) @elastic/security-detection-engine - [x] [x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts](https://github.com/elastic/kibana/pull/162738/files#diff-dbbf5a8541e06fd977c66e44d9ef59f738d953bdfda679ac838e098742c92f50) - [x] [x-pack/plugins/lists/server/services/extension_points/types.ts](https://github.com/elastic/kibana/pull/162738/files#diff-31186826bea8fdb286a25878fa06eeacad8f7a6c384d617fed905d4625821eef) @elastic/security-defend-workflows @gergoabraham - [x] [x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-049eeedef2a403ade7c636418e17fc9a3ffc7030eec2f3e013f459721c076470) @elastic/infra-monitoring-ui - [x] [x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-4ab4fa150247d8f522741ae5ea1ea71c102c72f5439410ea869ec1c9dc9878ad) - [x] [x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-285a67d9ec93651206608d308e5d1d20ccc98ccccb9bcbf3ee31fe35c1844b42) @elastic/kibana-security - [x] [x-pack/plugins/security/server/authentication/authenticator.ts](https://github.com/elastic/kibana/pull/162738/files#diff-bd369002fdfd0986f1ce3bf16263fb8b765e01a86832ccf5b4e521811d502038) - [x] [x-pack/plugins/security/server/session_management/session_index.ts](https://github.com/elastic/kibana/pull/162738/files#diff-10b76eb52a0e17564ad864def8270bb84a4eb87eb35851309bc36601086cbcd7) @elastic/security-threat-hunting-explore @gergoabraham - [x] [x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-7f130bdc9a954330d188aa25324910cf2f72baf76d1329bd36584f5bb153856b) @elastic/security-solution @gergoabraham - [x] [x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-e68a2799df17238257a86ce965369c525be901f6f882e518bde9e8c9bd7cd2c8) - [x] [x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx](https://github.com/elastic/kibana/pull/162738/files#diff-edc756f655792f7dcaca0c707f35c6c022981be1873712f460ccb1d611e42568) - [x] [x-pack/plugins/security_solution/tsconfig.json](https://github.com/elastic/kibana/pull/162738/files#diff-844dde79a96b9e6c2bfdf21f8c80feb8b687577e21326da6bd15c6b95d8ec918) @elastic/uptime - [x] [x-pack/plugins/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.test.ts](https://github.com/elastic/kibana/pull/162738/files#diff-6c7b63ce65aa17a2fe3219e1747ae051be88fb02edbe2f198ad6fd418a2bcc57) @elastic/security-detections-response-alerts @gergoabraham - [x] [x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts](https://github.com/elastic/kibana/pull/162738/files#diff-472ba2c7fe43448c8a4d04406703f755f71f6e60146bb2f090b4ca0f19ad0a0f) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Michael Dokolin Co-authored-by: Stratoula Kalafateli Co-authored-by: Rudolf Meijering Co-authored-by: Devon Thomson --- package.json | 4 ++-- .../src/request.ts | 2 +- .../versioned_router/route_version_utils.ts | 4 +++- packages/kbn-repo-packages/modern/plugins.js | 6 +----- .../src/tools/ts_program/ts_program.test.ts | 2 +- .../common/static/components/collections.ts | 1 + .../public/lib/autocomplete/autocomplete.ts | 3 ++- .../doc_table/components/table_row.tsx | 4 +++- .../expressions/common/execution/execution.ts | 10 ++++++---- .../expression_function_parameter.ts | 4 ++-- .../options/metrics_axes/label_options.tsx | 6 ++++-- .../workpad_interactive_page/event_handlers.ts | 3 ++- .../public/components/create/form.test.tsx | 1 + .../editable_markdown_renderer.test.tsx | 1 + .../fleet/common/experimental_features.ts | 1 + .../index.test.tsx | 1 + .../agent_policy/list_page/index.test.tsx | 1 + .../agents/agent_list_page/index.test.tsx | 1 + x-pack/plugins/fleet/server/mocks/index.ts | 1 + .../index_details_page/mocks.ts | 1 + .../extension_point_storage_client.ts | 1 + .../server/services/extension_points/types.ts | 1 + .../public/application/pages/apm/overview.tsx | 5 ++++- .../pages/enterprise_search/overview.tsx | 5 ++++- .../alert_data_client/browser_fields/index.ts | 1 + .../server/authentication/authenticator.ts | 5 +++-- .../server/session_management/session_index.ts | 18 ++++++++++-------- .../mock/endpoint/app_context_render.tsx | 12 ++++++++---- .../osquery/osquery_response_action.tsx | 1 + .../components/page_overlay/page_overlay.tsx | 1 + .../components/event_collection_card.tsx | 4 ++-- x-pack/plugins/security_solution/tsconfig.json | 3 +-- .../.storybook/decorator.tsx | 2 ++ .../common/experimental_features.ts | 1 + .../common/get_experimental_features.test.tsx | 2 ++ .../keyword_array.ts | 1 + .../endpoint_management/response_actions.ts | 2 +- .../lib/security/kibana_roles/role_loader.ts | 2 +- yarn.lock | 8 ++++---- 39 files changed, 85 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index 7a7a5fa36b381..ed15195079ffc 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "**/hoist-non-react-statics": "^3.3.2", "**/isomorphic-fetch/node-fetch": "^2.6.7", "**/remark-parse/trim": "1.0.1", - "**/typescript": "4.6.3", + "**/typescript": "4.7.4", "globby/fast-glob": "^3.2.11" }, "dependencies": { @@ -1552,7 +1552,7 @@ "tree-kill": "^1.2.2", "ts-morph": "^13.0.2", "tsd": "^0.20.0", - "typescript": "4.6.3", + "typescript": "4.7.4", "url-loader": "^2.2.0", "val-loader": "^1.1.1", "vinyl-fs": "^4.0.0", diff --git a/packages/core/http/core-http-router-server-internal/src/request.ts b/packages/core/http/core-http-router-server-internal/src/request.ts index 03348e1e9f577..05c35f4004efa 100644 --- a/packages/core/http/core-http-router-server-internal/src/request.ts +++ b/packages/core/http/core-http-router-server-internal/src/request.ts @@ -141,7 +141,7 @@ export class CoreKibanaRequest< public readonly rewrittenUrl?: URL; /** @internal */ - protected readonly [requestSymbol]: Request; + protected readonly [requestSymbol]!: Request; constructor( request: RawRequest, diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/route_version_utils.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/route_version_utils.ts index c5e6ff5967deb..6d22046ed81e1 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/route_version_utils.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/route_version_utils.ts @@ -52,7 +52,9 @@ type KibanaRequestWithQueryVersion = KibanaRequest< { [ELASTIC_HTTP_VERSION_QUERY_PARAM]: unknown } >; -export function hasQueryVersion(request: KibanaRequest): request is KibanaRequestWithQueryVersion { +export function hasQueryVersion( + request: Mutable +): request is Mutable { return isObject(request.query) && ELASTIC_HTTP_VERSION_QUERY_PARAM in request.query; } export function removeQueryVersion(request: Mutable): void { diff --git a/packages/kbn-repo-packages/modern/plugins.js b/packages/kbn-repo-packages/modern/plugins.js index a197c6a679771..31dd08bf1f5ba 100644 --- a/packages/kbn-repo-packages/modern/plugins.js +++ b/packages/kbn-repo-packages/modern/plugins.js @@ -107,11 +107,7 @@ function getPluginPackagesFilter(selector = {}) { */ function getDistributablePacakgesFilter() { return (pkg) => { - if ( - pkg.isDevOnly || - pkg.manifest.type === 'functional-tests' || - pkg.manifest.type === 'test-helper' - ) { + if (pkg.isDevOnly()) { return false; } diff --git a/packages/kbn-telemetry-tools/src/tools/ts_program/ts_program.test.ts b/packages/kbn-telemetry-tools/src/tools/ts_program/ts_program.test.ts index 8ae36ea7330cc..7e15de907e31a 100644 --- a/packages/kbn-telemetry-tools/src/tools/ts_program/ts_program.test.ts +++ b/packages/kbn-telemetry-tools/src/tools/ts_program/ts_program.test.ts @@ -21,7 +21,7 @@ describe('createKibanaProgram', () => { "fetch": Object { "typeDescriptor": Object { "locale": Object { - "kind": 149, + "kind": 150, "type": "StringKeyword", }, }, diff --git a/src/plugins/charts/common/static/components/collections.ts b/src/plugins/charts/common/static/components/collections.ts index 1f138ab9f7b0e..acb11c647fead 100644 --- a/src/plugins/charts/common/static/components/collections.ts +++ b/src/plugins/charts/common/static/components/collections.ts @@ -20,6 +20,7 @@ export const LabelRotation = Object.freeze({ Horizontal: 0, Vertical: 90, Angled: 75, + VerticalRotation: 270, }); export type LabelRotation = $Values; diff --git a/src/plugins/console/public/lib/autocomplete/autocomplete.ts b/src/plugins/console/public/lib/autocomplete/autocomplete.ts index 2f6e1404e2ce7..970847ac6bedc 100644 --- a/src/plugins/console/public/lib/autocomplete/autocomplete.ts +++ b/src/plugins/console/public/lib/autocomplete/autocomplete.ts @@ -42,7 +42,8 @@ function isUrlParamsToken(token: { type: string } | null) { } } -const tracer = (...args) => { +const tracer = (...args: any[]) => { + // @ts-expect-error ts upgrade v4.7.4 if (window.autocomplete_trace) { // eslint-disable-next-line no-console console.log.call( diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.tsx index a38e082778a68..e1c00ec3397c0 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.tsx @@ -186,7 +186,9 @@ export const TableRow = ({ // We should improve this and show a helpful tooltip why the filter buttons are not // there/disabled when there are ignored values. const isFilterable = Boolean( - mapping(column)?.filterable && filter && !row.raw._ignored?.includes(column) + mapping(column)?.filterable && + typeof filter === 'function' && + !row.raw._ignored?.includes(column) ); rowCells.push( this.execution.params.debug && Object.assign(head.debug, { args })), + tap((args) => this.execution.params.debug && Object.assign(head.debug ?? {}, { args })), switchMap((args) => this.invokeFunction(fn, input, args)), this.execution.params.partial ? identity : last(), switchMap((output) => (getType(output) === 'error' ? throwError(output) : of(output))), - tap((output) => this.execution.params.debug && Object.assign(head.debug, { output })), + tap( + (output) => this.execution.params.debug && Object.assign(head.debug ?? {}, { output }) + ), switchMap((output) => this.invokeChain(tail, output)), catchError((rawError) => { const error = createError(rawError); error.error.message = `[${fnName}] > ${error.error.message}`; if (this.execution.params.debug) { - Object.assign(head.debug, { error, rawError, success: false }); + Object.assign(head.debug ?? {}, { error, rawError, success: false }); } return of(error); @@ -440,7 +442,7 @@ export class Execution< }), finalize(() => { if (this.execution.params.debug) { - Object.assign(head.debug, { duration: now() - timeStart }); + Object.assign(head.debug ?? {}, { duration: now() - timeStart }); } }) ); diff --git a/src/plugins/expressions/common/expression_functions/expression_function_parameter.ts b/src/plugins/expressions/common/expression_functions/expression_function_parameter.ts index 530d0bc5a9c5c..644eb4bb8005e 100644 --- a/src/plugins/expressions/common/expression_functions/expression_function_parameter.ts +++ b/src/plugins/expressions/common/expression_functions/expression_function_parameter.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { KnownTypeToString } from '../types'; +import { TypeString } from '../types'; import { ArgumentType } from './arguments'; export class ExpressionFunctionParameter { @@ -46,6 +46,6 @@ export class ExpressionFunctionParameter { } accepts(type: string) { - return !this.types?.length || this.types.includes(type as KnownTypeToString); + return !this.types?.length || this.types.includes(type as TypeString); } } diff --git a/src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx b/src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx index 2c7f394f6a0aa..3310df7259df6 100644 --- a/src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx +++ b/src/plugins/vis_types/xy/public/editor/components/options/metrics_axes/label_options.tsx @@ -13,7 +13,7 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { SelectOption, SwitchOption } from '@kbn/vis-default-editor-plugin/public'; -import { Labels } from '@kbn/charts-plugin/public'; +import type { LabelRotation, Labels } from '@kbn/charts-plugin/public'; import { TruncateLabelsOption } from '../../common'; import { getRotateOptions } from '../../../collections'; @@ -34,7 +34,8 @@ function LabelOptions({ }: LabelOptionsProps) { const setAxisLabelRotate = useCallback( (paramName: 'rotate', value: Labels['rotate']) => { - setAxisLabel(paramName, Number(value)); + const rotation = Number(value) as LabelRotation; + setAxisLabel(paramName, rotation); }, [setAxisLabel] ); @@ -96,6 +97,7 @@ function LabelOptions({ options={rotateOptions} paramName="rotate" value={axisLabels.rotate} + // @ts-ignore ts upgrade v4.7.4 setValue={setAxisLabelRotate} /> diff --git a/x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts b/x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts index bb06444c0c8f6..ca187a8381d29 100644 --- a/x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts +++ b/x-pack/plugins/canvas/public/components/workpad_page/workpad_interactive_page/event_handlers.ts @@ -61,7 +61,8 @@ const setupHandler = (commit: CommitFn, canvasOrigin: CanvasOriginFn, zoomScale? // only commits the cursor position if there's a way to latch onto x/y calculation (canvasOrigin is knowable) // or if left button is being held down (i.e. an element is being dragged) - if (buttons === 1 || canvasOrigin) { + // + if (buttons === 1 || canvasOrigin !== undefined) { commit('cursorPosition', { x, y, altKey, metaKey, shiftKey, ctrlKey }); } else { // clears cursorPosition diff --git a/x-pack/plugins/cases/public/components/create/form.test.tsx b/x-pack/plugins/cases/public/components/create/form.test.tsx index 50ea8e402ce83..20502756db502 100644 --- a/x-pack/plugins/cases/public/components/create/form.test.tsx +++ b/x-pack/plugins/cases/public/components/create/form.test.tsx @@ -69,6 +69,7 @@ describe('CreateCaseForm', () => { globalForm = form; return ( + // @ts-expect-error ts upgrade v4.7.4
{children}
diff --git a/x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx b/x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx index af114e8ec473e..636fa61b8d6f0 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx +++ b/x-pack/plugins/cases/public/components/markdown_editor/editable_markdown_renderer.test.tsx @@ -72,6 +72,7 @@ describe('EditableMarkdown', () => { }); return ( + // @ts-expect-error ts upgrade v4.7.4
{children}
diff --git a/x-pack/plugins/fleet/common/experimental_features.ts b/x-pack/plugins/fleet/common/experimental_features.ts index cfdb8cf5fd26b..39d7b998953fb 100644 --- a/x-pack/plugins/fleet/common/experimental_features.ts +++ b/x-pack/plugins/fleet/common/experimental_features.ts @@ -46,6 +46,7 @@ export const parseExperimentalConfigValue = (configValue: string[]): Experimenta throw new FleetInvalidExperimentalValue(`[${value}] is not a supported experimental feature`); } + // @ts-expect-error ts upgrade v4.7.4 enabledFeatures[value as keyof ExperimentalFeatures] = true; } diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx index fe21159ab347b..ceea82434e1e1 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.test.tsx @@ -54,6 +54,7 @@ describe('Agent policy advanced options content', () => { // remove when feature flag is removed ExperimentalFeaturesService.init({ ...allowedExperimentalValues, + // @ts-expect-error ts upgrade v4.7.4 agentTamperProtectionEnabled: true, }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx index 1958db916a402..97ec62dce1d87 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.test.tsx @@ -40,6 +40,7 @@ describe('AgentPolicyListPage', () => { // todo: this can be removed when agentTamperProtectionEnabled feature flag is enabled/deleted ExperimentalFeaturesService.init({ ...allowedExperimentalValues, + // @ts-expect-error ts upgrade v4.7.4 agentTamperProtectionEnabled: true, }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx index 0089843c2626f..84394f1ab5c0d 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.test.tsx @@ -286,6 +286,7 @@ describe('agent_list_page', () => { // todo: this can be removed when agentTamperProtectionEnabled feature flag is enabled/deleted ExperimentalFeaturesService.init({ ...allowedExperimentalValues, + // @ts-expect-error ts upgrade v4.7.4 agentTamperProtectionEnabled: true, }); diff --git a/x-pack/plugins/fleet/server/mocks/index.ts b/x-pack/plugins/fleet/server/mocks/index.ts index adc0ecb1931b4..1e3d0e5c52b0a 100644 --- a/x-pack/plugins/fleet/server/mocks/index.ts +++ b/x-pack/plugins/fleet/server/mocks/index.ts @@ -71,6 +71,7 @@ export const createAppContextStartContractMock = ( securitySetup: securityMock.createSetup(), securityStart: securityMock.createStart(), logger: loggingSystemMock.create().get(), + // @ts-expect-error ts upgrade v4.7.4 experimentalFeatures: { agentTamperProtectionEnabled: true, diagnosticFileUploadEnabled: true, diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/mocks.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/mocks.ts index 02dda142de54a..d96f1d0fac0dc 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/mocks.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/mocks.ts @@ -21,6 +21,7 @@ export const testIndexMock: Index = { isFrozen: false, aliases: 'none', hidden: false, + // @ts-expect-error ts upgrade v4.7.4 isRollupIndex: false, ilm: { index: 'test_index', diff --git a/x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts b/x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts index f2d2035459b54..b3ada7ac69cd5 100644 --- a/x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts +++ b/x-pack/plugins/lists/server/services/extension_points/extension_point_storage_client.ts @@ -45,6 +45,7 @@ export class ExtensionPointStorageClient implements ExtensionPointStorageClientI async pipeRun< T extends ExtensionPoint['type'], D extends NarrowExtensionPointToType = NarrowExtensionPointToType, + // @ts-expect-error ts upgrade v4.7.4 P extends Parameters = Parameters >( extensionType: T, diff --git a/x-pack/plugins/lists/server/services/extension_points/types.ts b/x-pack/plugins/lists/server/services/extension_points/types.ts index 61aa7c451362d..2a298e96d2656 100644 --- a/x-pack/plugins/lists/server/services/extension_points/types.ts +++ b/x-pack/plugins/lists/server/services/extension_points/types.ts @@ -185,6 +185,7 @@ export interface ExtensionPointStorageClientInterface { pipeRun< T extends ExtensionPoint['type'], D extends NarrowExtensionPointToType = NarrowExtensionPointToType, + // @ts-expect-error ts upgrade v4.7.4 P extends Parameters = Parameters >( extensionType: T, diff --git a/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx b/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx index 9dd30bf6db81a..e12b567d8340f 100644 --- a/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx @@ -70,7 +70,10 @@ export const ApmOverviewPage: React.FC = ({ clusters }) => { getPageData={getPageData} data-test-subj="apmOverviewPage" > - {data && } + { + // @ts-expect-error ts upgrade v4.7.4 + data && + } ); }; diff --git a/x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx b/x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx index 0cd97166dcf5d..4493ec12adba4 100644 --- a/x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/enterprise_search/overview.tsx @@ -69,7 +69,10 @@ export const EntSearchOverviewPage: React.FC = ({ clusters }) => data-test-subj="entSearchOverviewPage" >
- {data && } + { + // @ts-expect-error ts upgrade v4.7.4 + data && + }
); diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts b/x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts index f7ba028e5917b..bbb91309b4fca 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/browser_fields/index.ts @@ -36,6 +36,7 @@ export const fieldDescriptorToBrowserFieldMapper = (fields: FieldDescriptor[]): const browserField = browserFieldFactory(field, category); if (browserFields[category] && browserFields[category]) { + // @ts-expect-error ts upgrade to v4.7.4 Object.assign(browserFields[category].fields, browserField); } else { browserFields[category] = { fields: browserField }; diff --git a/x-pack/plugins/security/server/authentication/authenticator.ts b/x-pack/plugins/security/server/authentication/authenticator.ts index 6fa811397a81b..032512cc5bf6c 100644 --- a/x-pack/plugins/security/server/authentication/authenticator.ts +++ b/x-pack/plugins/security/server/authentication/authenticator.ts @@ -260,7 +260,7 @@ export class Authenticator { ...providerCommonOptions, name, logger: options.loggers.get(type, name), - urls: { loggedOut: (request) => this.getLoggedOutURL(request, type) }, + urls: { loggedOut: (request: KibanaRequest) => this.getLoggedOutURL(request, type) }, }), this.options.config.authc.providers[type]?.[name] ), @@ -276,7 +276,8 @@ export class Authenticator { name: '__http__', logger: options.loggers.get(HTTPAuthenticationProvider.type), urls: { - loggedOut: (request) => this.getLoggedOutURL(request, HTTPAuthenticationProvider.type), + loggedOut: (request: KibanaRequest) => + this.getLoggedOutURL(request, HTTPAuthenticationProvider.type), }, }) ); diff --git a/x-pack/plugins/security/server/session_management/session_index.ts b/x-pack/plugins/security/server/session_management/session_index.ts index d16eba44ac922..54f448d151389 100644 --- a/x-pack/plugins/security/server/session_management/session_index.ts +++ b/x-pack/plugins/security/server/session_management/session_index.ts @@ -105,16 +105,18 @@ export function getSessionIndexSettings({ }, }, mappings: { - dynamic: 'strict', + dynamic: 'strict' as const, _meta: { [SESSION_INDEX_MAPPINGS_VERSION_META_FIELD_NAME]: SESSION_INDEX_MAPPINGS_VERSION }, properties: { - usernameHash: { type: 'keyword' }, - provider: { properties: { name: { type: 'keyword' }, type: { type: 'keyword' } } }, - idleTimeoutExpiration: { type: 'date' }, - createdAt: { type: 'date' }, - lifespanExpiration: { type: 'date' }, - accessAgreementAcknowledged: { type: 'boolean' }, - content: { type: 'binary' }, + usernameHash: { type: 'keyword' as const }, + provider: { + properties: { name: { type: 'keyword' as const }, type: { type: 'keyword' as const } }, + }, + idleTimeoutExpiration: { type: 'date' as const }, + createdAt: { type: 'date' as const }, + lifespanExpiration: { type: 'date' as const }, + accessAgreementAcknowledged: { type: 'boolean' as const }, + content: { type: 'binary' as const }, }, }, }); diff --git a/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx b/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx index ebf077de26dd1..575c159d29d72 100644 --- a/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx +++ b/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx @@ -211,10 +211,14 @@ export const createAppRootMockRenderer = (): AppContextTestRender => { app: experimentalFeaturesReducer, }; - const store = createStore(mockGlobalState, storeReducer, kibanaObservable, storage, [ - ...managementMiddlewareFactory(coreStart, depsStart), - middlewareSpy.actionSpyMiddleware, - ]); + const store = createStore( + mockGlobalState, + storeReducer, + kibanaObservable, + storage, + // @ts-expect-error ts upgrade v4.7.4 + [...managementMiddlewareFactory(coreStart, depsStart), middlewareSpy.actionSpyMiddleware] + ); const queryClient = new QueryClient({ defaultOptions: { diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx index f72ca73c607c0..f8e1a60bda79f 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx @@ -85,6 +85,7 @@ export const OsqueryResponseAction = React.memo((props: OsqueryResponseActionPro ); } + // @ts-expect-error ts upgrade v4.7.4 if (isMounted() && OsqueryForm) { return ( ( useEffect(() => { if ( isMounted() && + // @ts-expect-error ts upgrade v4.7.4 onHide && hideOnUrlPathnameChange && !isHidden && diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx index 97bff346e35a3..df2d85bd69bcd 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_settings_form/components/event_collection_card.tsx @@ -134,7 +134,7 @@ export const EventCollectionCard = memo(
{options.map(({ name, protectionField }) => { - const keyPath = `${policyOs}.events.${protectionField}`; + const keyPath = `${policyOs}.events.${String(protectionField)}`; return ( { - const keyPath = `${policyOs}.events.${protectionField}`; + const keyPath = `${policyOs}.events.${String(protectionField)}`; const isChecked = get(policy, keyPath); const fieldString = protectionField as string; diff --git a/x-pack/plugins/security_solution/tsconfig.json b/x-pack/plugins/security_solution/tsconfig.json index 0e5a3ec9752cc..4ef9c7499474c 100644 --- a/x-pack/plugins/security_solution/tsconfig.json +++ b/x-pack/plugins/security_solution/tsconfig.json @@ -12,8 +12,7 @@ "server/**/*.json", "scripts/**/*.json", "public/**/*.json", - "../../../typings/**/*", - "./public/management/cypress/cypress.d.ts" + "../../../typings/**/*" ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx b/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx index 19fbb190162d4..14180d867d7ea 100644 --- a/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx +++ b/x-pack/plugins/triggers_actions_ui/.storybook/decorator.tsx @@ -58,11 +58,13 @@ export const StorybookContextDecorator: React.FC ExperimentalFeaturesService.init({ experimentalFeatures: { rulesListDatagrid: true, + // @ts-expect-error ts upgrade v4.7.4 internalAlertsTable: true, ruleTagFilter: true, ruleStatusFilter: true, rulesDetailLogs: true, ruleUseExecutionStatus: false, + // @ts-expect-error ts upgrade v4.7.4 ruleKqlBar: true, }, }); diff --git a/x-pack/plugins/triggers_actions_ui/common/experimental_features.ts b/x-pack/plugins/triggers_actions_ui/common/experimental_features.ts index 4b59e95b300ac..501d9b7f22239 100644 --- a/x-pack/plugins/triggers_actions_ui/common/experimental_features.ts +++ b/x-pack/plugins/triggers_actions_ui/common/experimental_features.ts @@ -42,6 +42,7 @@ export const parseExperimentalConfigValue = (configValue: string[]): Experimenta throw new TriggersActionsUIInvalidExperimentalValue(`[${value}] is not valid.`); } + // @ts-expect-error ts upgrade v4.7.4 enabledFeatures[value as keyof ExperimentalFeatures] = true; } diff --git a/x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx b/x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx index 36514f6c90172..1b6e424e3883c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/common/get_experimental_features.test.tsx @@ -16,11 +16,13 @@ describe('getIsExperimentalFeatureEnabled', () => { ExperimentalFeaturesService.init({ experimentalFeatures: { rulesListDatagrid: true, + // @ts-expect-error ts upgrade v4.7.4 internalAlertsTable: true, rulesDetailLogs: true, ruleTagFilter: true, ruleStatusFilter: true, ruleUseExecutionStatus: false, + // @ts-expect-error ts upgrade v4.7.4 ruleKqlBar: true, }, }); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts index e08d449584140..7d95f6c9ec6bc 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts @@ -154,6 +154,7 @@ export default ({ getService }: FtrProviderContext) => { await waitForSignalsToBePresent(supertest, log, 1, [id]); const signalsOpen = await getSignalsById(supertest, log, id); const hits = signalsOpen.hits.hits.map((hit) => hit._source?.keyword).sort(); + // @ts-expect-error ts upgrade v4.7.4 expect(hits.flat(Number.MAX_SAFE_INTEGER)).to.eql([]); }); }); diff --git a/x-pack/test_serverless/functional/test_suites/security/cypress/tasks/endpoint_management/response_actions.ts b/x-pack/test_serverless/functional/test_suites/security/cypress/tasks/endpoint_management/response_actions.ts index 52bf32414268a..cf371fe63c40a 100644 --- a/x-pack/test_serverless/functional/test_suites/security/cypress/tasks/endpoint_management/response_actions.ts +++ b/x-pack/test_serverless/functional/test_suites/security/cypress/tasks/endpoint_management/response_actions.ts @@ -33,7 +33,7 @@ export const ensureResponseActionAuthzAccess = ( password: string ): Cypress.Chainable => { let url: string = ''; - let apiPayload: unknown = { + let apiPayload: any = { endpoint_ids: ['some-id'], }; diff --git a/x-pack/test_serverless/shared/lib/security/kibana_roles/role_loader.ts b/x-pack/test_serverless/shared/lib/security/kibana_roles/role_loader.ts index 0d8d8ef779427..a0f0f447955a6 100644 --- a/x-pack/test_serverless/shared/lib/security/kibana_roles/role_loader.ts +++ b/x-pack/test_serverless/shared/lib/security/kibana_roles/role_loader.ts @@ -52,7 +52,7 @@ export class RoleAndUserLoader = Record