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 <dokmic@gmail.com>
Co-authored-by: Stratoula Kalafateli <stratoula1@gmail.com>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
Co-authored-by: Devon Thomson <devon.thomson@elastic.co>
This commit is contained in:
Tiago Costa 2023-08-24 17:27:13 +01:00 committed by GitHub
parent f2c69986fd
commit 2d652e1313
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 85 additions and 47 deletions

View file

@ -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",

View file

@ -141,7 +141,7 @@ export class CoreKibanaRequest<
public readonly rewrittenUrl?: URL;
/** @internal */
protected readonly [requestSymbol]: Request;
protected readonly [requestSymbol]!: Request;
constructor(
request: RawRequest,

View file

@ -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<KibanaRequest>
): request is Mutable<KibanaRequestWithQueryVersion> {
return isObject(request.query) && ELASTIC_HTTP_VERSION_QUERY_PARAM in request.query;
}
export function removeQueryVersion(request: Mutable<KibanaRequestWithQueryVersion>): void {

View file

@ -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;
}

View file

@ -21,7 +21,7 @@ describe('createKibanaProgram', () => {
"fetch": Object {
"typeDescriptor": Object {
"locale": Object {
"kind": 149,
"kind": 150,
"type": "StringKeyword",
},
},

View file

@ -20,6 +20,7 @@ export const LabelRotation = Object.freeze({
Horizontal: 0,
Vertical: 90,
Angled: 75,
VerticalRotation: 270,
});
export type LabelRotation = $Values<typeof LabelRotation>;

View file

@ -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(

View file

@ -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(
<TableCell

View file

@ -420,18 +420,20 @@ export class Execution<
: of(resolvedArgs);
return args$.pipe(
tap((args) => 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<ChainOutput>(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 });
}
})
);

View file

@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
import { KnownTypeToString } from '../types';
import { TypeString } from '../types';
import { ArgumentType } from './arguments';
export class ExpressionFunctionParameter<T = unknown> {
@ -46,6 +46,6 @@ export class ExpressionFunctionParameter<T = unknown> {
}
accepts(type: string) {
return !this.types?.length || this.types.includes(type as KnownTypeToString<T>);
return !this.types?.length || this.types.includes(type as TypeString<T>);
}
}

View file

@ -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}
/>
</EuiToolTip>

View file

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

View file

@ -69,6 +69,7 @@ describe('CreateCaseForm', () => {
globalForm = form;
return (
// @ts-expect-error ts upgrade v4.7.4
<TestProviders {...testProviderProps}>
<Form form={form}>{children}</Form>
</TestProviders>

View file

@ -72,6 +72,7 @@ describe('EditableMarkdown', () => {
});
return (
// @ts-expect-error ts upgrade v4.7.4
<TestProviders {...testProviderProps}>
<Form form={form}>{children}</Form>
</TestProviders>

View file

@ -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;
}

View file

@ -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,
});

View file

@ -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,
});

View file

@ -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,
});

View file

@ -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,

View file

@ -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',

View file

@ -45,6 +45,7 @@ export class ExtensionPointStorageClient implements ExtensionPointStorageClientI
async pipeRun<
T extends ExtensionPoint['type'],
D extends NarrowExtensionPointToType<T> = NarrowExtensionPointToType<T>,
// @ts-expect-error ts upgrade v4.7.4
P extends Parameters<D['callback']> = Parameters<D['callback']>
>(
extensionType: T,

View file

@ -185,6 +185,7 @@ export interface ExtensionPointStorageClientInterface {
pipeRun<
T extends ExtensionPoint['type'],
D extends NarrowExtensionPointToType<T> = NarrowExtensionPointToType<T>,
// @ts-expect-error ts upgrade v4.7.4
P extends Parameters<D['callback']> = Parameters<D['callback']>
>(
extensionType: T,

View file

@ -70,7 +70,10 @@ export const ApmOverviewPage: React.FC<ComponentProps> = ({ clusters }) => {
getPageData={getPageData}
data-test-subj="apmOverviewPage"
>
{data && <ApmOverview {...data} onBrush={onBrush} zoomInfo={zoomInfo} />}
{
// @ts-expect-error ts upgrade v4.7.4
data && <ApmOverview {...data} onBrush={onBrush} zoomInfo={zoomInfo} />
}
</ApmTemplate>
);
};

View file

@ -69,7 +69,10 @@ export const EntSearchOverviewPage: React.FC<ComponentProps> = ({ clusters }) =>
data-test-subj="entSearchOverviewPage"
>
<div data-test-subj="entSearchOverviewPage">
{data && <EnterpriseSearchOverview {...data} onBrush={onBrush} zoomInfo={zoomInfo} />}
{
// @ts-expect-error ts upgrade v4.7.4
data && <EnterpriseSearchOverview {...data} onBrush={onBrush} zoomInfo={zoomInfo} />
}
</div>
</EntSearchTemplate>
);

View file

@ -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 };

View file

@ -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),
},
})
);

View file

@ -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 },
},
},
});

View file

@ -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: {

View file

@ -85,6 +85,7 @@ export const OsqueryResponseAction = React.memo((props: OsqueryResponseActionPro
);
}
// @ts-expect-error ts upgrade v4.7.4
if (isMounted() && OsqueryForm) {
return (
<UseField

View file

@ -264,6 +264,7 @@ export const PageOverlay = memo<PageOverlayProps>(
useEffect(() => {
if (
isMounted() &&
// @ts-expect-error ts upgrade v4.7.4
onHide &&
hideOnUrlPathnameChange &&
!isHidden &&

View file

@ -134,7 +134,7 @@ export const EventCollectionCard = memo(
<div data-test-subj={getTestId('options')}>
{options.map(({ name, protectionField }) => {
const keyPath = `${policyOs}.events.${protectionField}`;
const keyPath = `${policyOs}.events.${String(protectionField)}`;
return (
<EventCheckbox
@ -165,7 +165,7 @@ export const EventCollectionCard = memo(
indented,
isDisabled,
}) => {
const keyPath = `${policyOs}.events.${protectionField}`;
const keyPath = `${policyOs}.events.${String(protectionField)}`;
const isChecked = get(policy, keyPath);
const fieldString = protectionField as string;

View file

@ -12,8 +12,7 @@
"server/**/*.json",
"scripts/**/*.json",
"public/**/*.json",
"../../../typings/**/*",
"./public/management/cypress/cypress.d.ts"
"../../../typings/**/*"
],
"exclude": [
"target/**/*",

View file

@ -58,11 +58,13 @@ export const StorybookContextDecorator: React.FC<StorybookContextDecoratorProps>
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,
},
});

View file

@ -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;
}

View file

@ -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,
},
});

View file

@ -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([]);
});
});

View file

@ -33,7 +33,7 @@ export const ensureResponseActionAuthzAccess = (
password: string
): Cypress.Chainable => {
let url: string = '';
let apiPayload: unknown = {
let apiPayload: any = {
endpoint_ids: ['some-id'],
};

View file

@ -52,7 +52,7 @@ export class RoleAndUserLoader<R extends Record<string, Role> = Record<string, R
if (!role) {
throw new Error(
`Unknown role: [${name}]. Valid values are: [${Object.keys(this.roles).join(', ')}]`
`Unknown role: [${String(name)}]. Valid values are: [${Object.keys(this.roles).join(', ')}]`
);
}

View file

@ -28869,10 +28869,10 @@ typescript-tuple@^2.2.1:
dependencies:
typescript-compare "^0.0.2"
typescript@4.6.3, typescript@^3.3.3333, typescript@^4.6.3, typescript@^4.8.4, typescript@^5.0.4:
version "4.6.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
typescript@4.7.4, typescript@^3.3.3333, typescript@^4.6.3, typescript@^4.8.4, typescript@^5.0.4:
version "4.7.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
typewise-core@^1.2, typewise-core@^1.2.0:
version "1.2.0"