-
+ <>
+ {renderNoAgentAvailableWarning()}
+
+ >
{numAgentsSelected > 0 ?
{generateSelectedAgentsMessage(numAgentsSelected)} : ''}
diff --git a/x-pack/plugins/osquery/public/agents/translations.ts b/x-pack/plugins/osquery/public/agents/translations.ts
index deabe5ecd36e5..55f1611bdf592 100644
--- a/x-pack/plugins/osquery/public/agents/translations.ts
+++ b/x-pack/plugins/osquery/public/agents/translations.ts
@@ -42,6 +42,14 @@ export const AGENT = i18n.translate('xpack.osquery.agents.agent', {
export const AGENT_SELECTION_LABEL = i18n.translate('xpack.osquery.agents.selectionLabel', {
defaultMessage: `Agents`,
});
+
+export const NO_AGENT_AVAILABLE_TITLE = i18n.translate(
+ 'xpack.osquery.agents.noAgentAvailableTitle',
+ {
+ defaultMessage: `No agents available`,
+ }
+);
+
export const AGENT_QUERY = i18n.translate('xpack.osquery.agents.query', {
defaultMessage: `Query`,
});
diff --git a/x-pack/plugins/osquery/public/agents/use_agent_groups.ts b/x-pack/plugins/osquery/public/agents/use_agent_groups.ts
index 156b439dcc18d..8f700eb60842d 100644
--- a/x-pack/plugins/osquery/public/agents/use_agent_groups.ts
+++ b/x-pack/plugins/osquery/public/agents/use_agent_groups.ts
@@ -45,17 +45,11 @@ export const useAgentGroups = () => {
terms: {
field: 'local_metadata.os.platform',
},
- aggs: {
- policies: {
- terms: {
- field: 'policy_id',
- },
- },
- },
},
policies: {
terms: {
field: 'policy_id',
+ size: 2000,
},
},
},
diff --git a/x-pack/plugins/osquery/public/results/results_table.tsx b/x-pack/plugins/osquery/public/results/results_table.tsx
index 9f08cab70b064..c74ca9d607dc1 100644
--- a/x-pack/plugins/osquery/public/results/results_table.tsx
+++ b/x-pack/plugins/osquery/public/results/results_table.tsx
@@ -59,6 +59,11 @@ const euiProgressCss = {
marginTop: '-2px',
};
+const resultsTableContainerCss = {
+ width: '100%',
+ maxWidth: '1200px',
+};
+
export interface ResultsTableComponentProps {
actionId: string;
selectedAgent?: string;
@@ -435,19 +440,21 @@ const ResultsTableComponent: React.FC
= ({
) : (
-
+
+
+
)}
>
diff --git a/x-pack/plugins/osquery/server/search_strategy/osquery/factory/agents/query.all_agents.dsl.ts b/x-pack/plugins/osquery/server/search_strategy/osquery/factory/agents/query.all_agents.dsl.ts
index 908c0cbdd32bf..8c8c206f4c754 100644
--- a/x-pack/plugins/osquery/server/search_strategy/osquery/factory/agents/query.all_agents.dsl.ts
+++ b/x-pack/plugins/osquery/server/search_strategy/osquery/factory/agents/query.all_agents.dsl.ts
@@ -12,7 +12,7 @@ import { createQueryFilterClauses } from '../../../../../common/utils/build_quer
export const buildAgentsQuery = ({
filterQuery,
- pagination: { cursorStart, querySize },
+ pagination: { cursorStart },
sort,
aggregations,
}: AgentsRequestOptions): ISearchRequestParams => {
@@ -21,7 +21,7 @@ export const buildAgentsQuery = ({
...createQueryFilterClauses(filterQuery),
];
- const dslQuery = {
+ return {
allow_no_indices: true,
index: AGENTS_INDEX,
ignore_unavailable: true,
@@ -40,10 +40,8 @@ export const buildAgentsQuery = ({
},
},
],
- size: querySize,
+ size: 0,
from: cursorStart,
},
};
-
- return dslQuery;
};
diff --git a/x-pack/plugins/security_solution/package.json b/x-pack/plugins/security_solution/package.json
index 16e511dd1e507..5a91078dbc686 100644
--- a/x-pack/plugins/security_solution/package.json
+++ b/x-pack/plugins/security_solution/package.json
@@ -7,14 +7,14 @@
"scripts": {
"extract-mitre-attacks": "node scripts/extract_tactics_techniques_mitre.js && node ../../../scripts/eslint ./public/detections/mitre/mitre_tactics_techniques.ts --fix",
"build-beat-doc": "node scripts/beat_docs/build.js && node ../../../scripts/eslint ../timelines/server/utils/beat_schema/fields.ts --fix",
- "cypress": "../../../node_modules/.bin/cypress",
+ "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../node_modules/.bin/cypress",
"cypress:burn": "yarn cypress:run:reporter --env burn=2 --concurrency=1 --headed",
"cypress:changed-specs-only": "yarn cypress:run:reporter --changed-specs-only --env burn=2",
"cypress:run:reporter": "TZ=UTC node ./scripts/start_cypress_parallel run --ftr-config-file ../../test/defend_workflows_cypress/cli_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=../../test/security_solution_cypress/cypress/reporter_config.json",
- "cypress:dw:open": "node ./scripts/start_cypress_parallel open --config-file ./public/management/cypress.config.ts ts --ftr-config-file ../../test/defend_workflows_cypress/cli_config",
- "cypress:dw:run": "node ./scripts/start_cypress_parallel run --config-file ./public/management/cypress.config.ts --ftr-config-file ../../test/defend_workflows_cypress/cli_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=../../test/security_solution_cypress/cypress/reporter_config.json; status=$?; yarn junit:merge && exit $status",
- "cypress:dw:endpoint:run": "node ./scripts/start_cypress_parallel run --config-file ./public/management/cypress_endpoint.config.ts --ftr-config-file ../../test/defend_workflows_cypress/endpoint_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=../../test/security_solution_cypress/cypress/reporter_config.json --concurrency 1; status=$?; yarn junit:merge && exit $status",
- "cypress:dw:endpoint:open": "node ./scripts/start_cypress_parallel open --config-file ./public/management/cypress_endpoint.config.ts ts --ftr-config-file ../../test/defend_workflows_cypress/endpoint_config",
+ "cypress:dw:open": "NODE_OPTIONS=--openssl-legacy-provider node ./scripts/start_cypress_parallel open --config-file ./public/management/cypress.config.ts ts --ftr-config-file ../../test/defend_workflows_cypress/cli_config",
+ "cypress:dw:run": "NODE_OPTIONS=--openssl-legacy-provider node ./scripts/start_cypress_parallel run --config-file ./public/management/cypress.config.ts --ftr-config-file ../../test/defend_workflows_cypress/cli_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=../../test/security_solution_cypress/cypress/reporter_config.json; status=$?; yarn junit:merge && exit $status",
+ "cypress:dw:endpoint:run": "NODE_OPTIONS=--openssl-legacy-provider node ./scripts/start_cypress_parallel run --config-file ./public/management/cypress_endpoint.config.ts --ftr-config-file ../../test/defend_workflows_cypress/endpoint_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=../../test/security_solution_cypress/cypress/reporter_config.json --concurrency 1; status=$?; yarn junit:merge && exit $status",
+ "cypress:dw:endpoint:open": "NODE_OPTIONS=--openssl-legacy-provider node ./scripts/start_cypress_parallel open --config-file ./public/management/cypress_endpoint.config.ts ts --ftr-config-file ../../test/defend_workflows_cypress/endpoint_config",
"junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-security-solution/cypress/results/mochawesome*.json > ../../../target/kibana-security-solution/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-security-solution/cypress/results/output.json --reportDir ../../../target/kibana-security-solution/cypress/results && yarn junit:transform && mkdir -p ../../../target/junit && cp ../../../target/kibana-security-solution/cypress/results/*.xml ../../../target/junit/",
"test:generate": "node scripts/endpoint/resolver_generator",
"mappings:generate": "node scripts/mappings/mappings_generator",
diff --git a/x-pack/plugins/security_solution/public/common/components/matrix_histogram/index.tsx b/x-pack/plugins/security_solution/public/common/components/matrix_histogram/index.tsx
index c2d1e6dc59ff8..e14a0c7f4c224 100644
--- a/x-pack/plugins/security_solution/public/common/components/matrix_histogram/index.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/matrix_histogram/index.tsx
@@ -12,6 +12,7 @@ import styled from 'styled-components';
import { EuiFlexGroup, EuiFlexItem, EuiProgress, EuiSelect, EuiSpacer } from '@elastic/eui';
import { useDispatch } from 'react-redux';
import type { AggregationsTermsAggregateBase } from '@elastic/elasticsearch/lib/api/types';
+import { isString } from 'lodash/fp';
import * as i18n from './translations';
import { HeaderSection } from '../header_section';
import { Panel } from '../panel';
@@ -66,6 +67,7 @@ export type MatrixHistogramComponentProps = MatrixHistogramProps &
scopeId?: string;
title: string | GetTitle;
hideQueryToggle?: boolean;
+ applyGlobalQueriesAndFilters?: boolean;
};
const DEFAULT_PANEL_HEIGHT = 300;
@@ -117,6 +119,7 @@ export const MatrixHistogramComponent: React.FC =
yTickFormatter,
skip,
hideQueryToggle = false,
+ applyGlobalQueriesAndFilters = true,
}) => {
const visualizationId = `${id}-embeddable`;
const dispatch = useDispatch();
@@ -258,9 +261,20 @@ export const MatrixHistogramComponent: React.FC =
const timerange = useMemo(() => ({ from: startDate, to: endDate }), [startDate, endDate]);
const extraVisualizationOptions = useMemo(
- () => ({ dnsIsPtrIncluded: isPtrIncluded ?? false }),
- [isPtrIncluded]
+ () => ({
+ dnsIsPtrIncluded: isPtrIncluded ?? false,
+ filters: filterQuery
+ ? [
+ {
+ query: isString(filterQuery) ? JSON.parse(filterQuery) : filterQuery,
+ meta: {},
+ },
+ ]
+ : undefined,
+ }),
+ [isPtrIncluded, filterQuery]
);
+
if (hideHistogram) {
return null;
}
@@ -329,6 +343,7 @@ export const MatrixHistogramComponent: React.FC =
{toggleStatus ? (
isChartEmbeddablesEnabled ? (
= ({
{view === 'raw' || view === 'all' ? (
{
return {
title: 'Events',
@@ -55,7 +56,7 @@ export const getEventsHistogramLensAttributes: GetLensAttributes = (
query: '',
language: 'kuery',
},
- filters: [],
+ filters: extraOptions.filters ?? [],
datasourceStates: {
formBased: {
layers: {
diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/mocked_data/isolate.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/mocked_data/isolate.cy.ts
index 8e3811c93ee0e..6b401c1b57521 100644
--- a/x-pack/plugins/security_solution/public/management/cypress/e2e/mocked_data/isolate.cy.ts
+++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/mocked_data/isolate.cy.ts
@@ -126,7 +126,7 @@ describe('Isolate command', () => {
login();
});
- it('should isolate and release host', () => {
+ it.skip('should isolate and release host', () => {
const isolateComment = `Isolating ${hostname}`;
const releaseComment = `Releasing ${hostname}`;
let isolateRequestResponse: ActionDetails;
diff --git a/x-pack/plugins/security_solution/public/overview/components/events_by_dataset/index.tsx b/x-pack/plugins/security_solution/public/overview/components/events_by_dataset/index.tsx
index 360cfbbce9825..360c95ec94019 100644
--- a/x-pack/plugins/security_solution/public/overview/components/events_by_dataset/index.tsx
+++ b/x-pack/plugins/security_solution/public/overview/components/events_by_dataset/index.tsx
@@ -60,6 +60,7 @@ interface Props extends Pick void;
hideQueryToggle?: boolean;
+ applyGlobalQueriesAndFilters?: boolean;
}
const getHistogramOption = (fieldName: string): MatrixHistogramOption => ({
@@ -95,6 +96,7 @@ const EventsByDatasetComponent: React.FC = ({
to,
toggleTopN,
hideQueryToggle = false,
+ applyGlobalQueriesAndFilters = true,
}) => {
const uniqueQueryId = useMemo(() => `${ID}-${queryType}`, [queryType]);
diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts b/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts
index ab9b7157ff543..3617c8f467873 100644
--- a/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts
+++ b/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts
@@ -35,7 +35,7 @@ import { createFailError } from '@kbn/dev-cli-errors';
import pRetry from 'p-retry';
import { renderSummaryTable } from './print_run';
import { getLocalhostRealIp } from '../endpoint/common/localhost_services';
-import { parseTestFileConfig } from './utils';
+import { isSkipped, parseTestFileConfig } from './utils';
/**
* Retrieve test files using a glob pattern.
@@ -44,7 +44,8 @@ import { parseTestFileConfig } from './utils';
const retrieveIntegrations = (
/** Pattern passed to globby to find spec files. */ specPattern: string[]
) => {
- const integrationsPaths = globby.sync(specPattern);
+ const iintegrationsPaths = globby.sync(specPattern);
+ const integrationsPaths = iintegrationsPaths.filter((filePath) => !isSkipped(filePath));
if (process.env.RUN_ALL_TESTS === 'true') {
return integrationsPaths;
@@ -450,7 +451,7 @@ ${JSON.stringify(cyCustomEnv, null, 2)}
} else {
try {
result = await cypress.run({
- browser: 'chrome',
+ browser: 'electron',
spec: filePath,
configFile: cypressConfigFilePath,
reporter: argv.reporter as string,
@@ -478,11 +479,7 @@ ${JSON.stringify(cyCustomEnv, null, 2)}
return result;
},
{
- concurrency: (argv.concurrency as number | undefined)
- ? (argv.concurrency as number)
- : !isOpen
- ? 2
- : 1,
+ concurrency: 1,
}
).then((results) => {
renderSummaryTable(results as CypressCommandLine.CypressRunResult[]);
diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts b/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts
index e0338c57f1ae7..fdaf5aeac1288 100644
--- a/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts
+++ b/x-pack/plugins/security_solution/scripts/run_cypress/utils.ts
@@ -13,6 +13,24 @@ import type { ExpressionStatement, ObjectExpression, ObjectProperty } from '@bab
import { schema, type TypeOf } from '@kbn/config-schema';
import { getExperimentalAllowedValues } from '../../common/experimental_features';
+export const isSkipped = (filePath: string): boolean => {
+ const testFile = fs.readFileSync(filePath, { encoding: 'utf8' });
+
+ const ast = parser.parse(testFile, {
+ sourceType: 'module',
+ plugins: ['typescript'],
+ });
+
+ const expressionStatement = _.find(ast.program.body, ['type', 'ExpressionStatement']) as
+ | ExpressionStatement
+ | undefined;
+
+ const callExpression = expressionStatement?.expression;
+
+ // @ts-expect-error
+ return callExpression?.callee?.property?.name === 'skip';
+};
+
export const parseTestFileConfig = (filePath: string): SecuritySolutionDescribeBlockFtrConfig => {
const testFile = fs.readFileSync(filePath, { encoding: 'utf8' });
diff --git a/x-pack/plugins/threat_intelligence/package.json b/x-pack/plugins/threat_intelligence/package.json
index a887c13c3ba4b..77aab5b2fe99a 100644
--- a/x-pack/plugins/threat_intelligence/package.json
+++ b/x-pack/plugins/threat_intelligence/package.json
@@ -4,12 +4,12 @@
"version": "1.0.0",
"license": "Elastic License 2.0",
"scripts": {
- "cypress": "../../../node_modules/.bin/cypress",
- "cypress:open": "TZ=UTC node ../security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel",
+ "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../node_modules/.bin/cypress",
+ "cypress:open": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel",
"cypress:run": "yarn cypress:run:reporter --browser chrome --spec './cypress/e2e/**/*.cy.ts'; status=$?; yarn junit:merge && exit $status",
"cypress:run:spec": "yarn cypress:run:reporter --browser chrome --spec ${SPEC_LIST:-'./cypress/e2e/**/*.cy.ts'}; status=$?; yarn junit:merge && exit $status",
"cypress:run:cases": "yarn cypress:run:reporter --browser chrome --spec './cypress/e2e/cases/*.cy.ts' --ftr-config-file ../../test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status",
- "cypress:run:reporter": "TZ=UTC node ../security_solution/scripts/start_cypress_parallel run --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json",
+ "cypress:run:reporter": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel run --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json",
"cypress:run:respops": "yarn cypress:run:reporter --browser chrome --spec ./cypress/e2e/detection_alerts/*.cy.ts,./cypress/e2e/detection_rules/*.cy.ts,./cypress/e2e/exceptions/*.cy.ts --ftr-config-file ../../x-pack/test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status",
"junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-threat-intelligence/cypress/results/mochawesome*.json > ../../../target/kibana-threat-intelligence/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-threat-intelligence/cypress/results/output.json --reportDir ../../../target/kibana-threat-intelligence/cypress/results && mkdir -p ../../../target/junit && cp ../../../target/kibana-threat-intelligence/cypress/results/*.xml ../../../target/junit/"
}
diff --git a/x-pack/test/fleet_cypress/config.ts b/x-pack/test/fleet_cypress/config.ts
index 25f44880adf88..af6e2e20342e3 100644
--- a/x-pack/test/fleet_cypress/config.ts
+++ b/x-pack/test/fleet_cypress/config.ts
@@ -35,6 +35,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
...xpackFunctionalTestsConfig.get('kbnTestServer'),
serverArgs: [
...xpackFunctionalTestsConfig.get('kbnTestServer.serverArgs'),
+ '--csp.warnLegacyBrowsers=false',
'--csp.strict=false',
// define custom kibana server args here
`--elasticsearch.ssl.certificateAuthorities=${CA_CERT_PATH}`,
diff --git a/x-pack/test/fleet_cypress/runner.ts b/x-pack/test/fleet_cypress/runner.ts
index 87278cca019a8..fcead46bdbc07 100644
--- a/x-pack/test/fleet_cypress/runner.ts
+++ b/x-pack/test/fleet_cypress/runner.ts
@@ -5,108 +5,38 @@
* 2.0.
*/
-import { resolve } from 'path';
import Url from 'url';
-import { withProcRunner } from '@kbn/dev-proc-runner';
-
import { FtrProviderContext } from './ftr_provider_context';
-import { AgentManager, AgentManagerParams } from './agent';
-import { FleetManager } from './fleet_server';
+export async function FleetCypressCliTestRunner(context: FtrProviderContext) {
+ await startFleetCypress(context, 'run');
+}
-async function withFleetAgent(
- { getService }: FtrProviderContext,
- runner: (runnerEnv: Record) => Promise
-) {
- // skipping fleet server enroll for now, as it is not a functionality of Fleet UI itself. are there any existing e2e tests for enroll?
- return await runner({});
+export async function FleetCypressVisualTestRunner(context: FtrProviderContext) {
+ await startFleetCypress(context, 'open');
+}
- const log = getService('log');
- const config = getService('config');
+function startFleetCypress(context: FtrProviderContext, cypressCommand: string) {
+ const config = context.getService('config');
- const esHost = Url.format(config.get('servers.elasticsearch'));
- const params: AgentManagerParams = {
- user: config.get('servers.elasticsearch.username'),
- password: config.get('servers.elasticsearch.password'),
- esHost,
- esPort: config.get('servers.elasticsearch.port'),
- kibanaUrl: Url.format({
+ return {
+ FORCE_COLOR: '1',
+ baseUrl: Url.format({
+ protocol: config.get('servers.kibana.protocol'),
+ hostname: config.get('servers.kibana.hostname'),
+ port: config.get('servers.kibana.port'),
+ }),
+ protocol: config.get('servers.kibana.protocol'),
+ hostname: config.get('servers.kibana.hostname'),
+ configport: config.get('servers.kibana.port'),
+ ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')),
+ ELASTICSEARCH_USERNAME: config.get('servers.kibana.username'),
+ ELASTICSEARCH_PASSWORD: config.get('servers.kibana.password'),
+ KIBANA_URL: Url.format({
protocol: config.get('servers.kibana.protocol'),
hostname: config.get('servers.kibana.hostname'),
port: config.get('servers.kibana.port'),
}),
};
- const requestOptions = {
- headers: {
- 'kbn-xsrf': 'kibana',
- },
- auth: {
- username: params.user,
- password: params.password,
- },
- };
- const fleetManager = new FleetManager(params, log, requestOptions);
-
- const agentManager = new AgentManager(params, log, requestOptions);
-
- // Since the managers will create uncaughtException event handlers we need to exit manually
- process.on('uncaughtException', (err) => {
- // eslint-disable-next-line no-console
- console.error('Encountered error; exiting after cleanup.', err);
- process.exit(1);
- });
-
- await agentManager.setup();
- await fleetManager.setup();
- try {
- await runner({});
- } finally {
- fleetManager.cleanup();
- agentManager.cleanup();
- }
-}
-
-export async function FleetCypressCliTestRunner(context: FtrProviderContext) {
- await startFleetAgent(context, 'run');
-}
-
-export async function FleetCypressVisualTestRunner(context: FtrProviderContext) {
- await startFleetAgent(context, 'open');
-}
-
-function startFleetAgent(context: FtrProviderContext, cypressCommand: string) {
- const log = context.getService('log');
- const config = context.getService('config');
- return withFleetAgent(context, (runnerEnv) =>
- withProcRunner(log, async (procs) => {
- await procs.run('cypress', {
- cmd: 'yarn',
- args: [`cypress:${cypressCommand}`],
- cwd: resolve(__dirname, '../../plugins/fleet'),
- env: {
- FORCE_COLOR: '1',
- // eslint-disable-next-line @typescript-eslint/naming-convention
- CYPRESS_baseUrl: Url.format(config.get('servers.kibana')),
- // eslint-disable-next-line @typescript-eslint/naming-convention
- CYPRESS_protocol: config.get('servers.kibana.protocol'),
- // eslint-disable-next-line @typescript-eslint/naming-convention
- CYPRESS_hostname: config.get('servers.kibana.hostname'),
- // eslint-disable-next-line @typescript-eslint/naming-convention
- CYPRESS_configport: config.get('servers.kibana.port'),
- CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')),
- CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'),
- CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'),
- CYPRESS_KIBANA_URL: Url.format({
- protocol: config.get('servers.kibana.protocol'),
- hostname: config.get('servers.kibana.hostname'),
- port: config.get('servers.kibana.port'),
- }),
- ...runnerEnv,
- ...process.env,
- },
- wait: true,
- });
- })
- );
}
diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts
index 6927775fcce8a..8e988876d91de 100644
--- a/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts
+++ b/x-pack/test/security_solution_cypress/cypress/cypress_ci.config.ts
@@ -14,6 +14,7 @@ export default defineCypressConfig({
env: {
grepFilterSpecs: true,
grepTags: '@ess',
+ grepOmitFiltered: true,
},
execTimeout: 150000,
pageLoadTimeout: 150000,
diff --git a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts
index 86ab94768f8e2..41c62079f1ead 100644
--- a/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts
+++ b/x-pack/test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts
@@ -14,6 +14,7 @@ export default defineCypressConfig({
env: {
grepFilterSpecs: true,
grepTags: '@serverless --@brokenInServerless',
+ grepOmitFiltered: true,
},
execTimeout: 150000,
pageLoadTimeout: 150000,
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts
index 9c4a575dccb4e..f76762b7bf2c2 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/alerts_table_flow/rule_exceptions/closing_all_matching_alerts.cy.ts
@@ -28,7 +28,7 @@ import {
} from '../../../../tasks/exceptions';
// See https://github.com/elastic/kibana/issues/163967
-describe('Close matching Alerts ', () => {
+describe.skip('Close matching Alerts', { tags: ['@ess'] }, () => {
const newRule = getNewRule();
const ITEM_NAME = 'Sample Exception Item';
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts
index 868c80a7b743f..559e1612a9924 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/cases/creation.cy.ts
@@ -54,7 +54,7 @@ import { loginWithUser, visit, visitWithoutDateRange } from '../../../tasks/logi
import { CASES_URL, OVERVIEW_URL } from '../../../urls/navigation';
-describe('Cases', { tags: [tag.ESS, tag.SERVERLESS] }, () => {
+describe.skip('Cases', { tags: [tag.ESS, tag.SERVERLESS] }, () => {
before(() => {
cleanKibana();
createTimeline(getCase1().timeline).then((response) =>
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts
index 90a44a514ce7c..ca9a0a3ea93f7 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/user_details.cy.ts
@@ -20,7 +20,7 @@ import {
} from '../../../tasks/alerts';
import { USER_COLUMN } from '../../../screens/alerts';
-describe('user details flyout', () => {
+describe('user details flyout', { tags: ['@ess'] }, () => {
beforeEach(() => {
cleanKibana();
login();
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts
index 5b655be068ea9..b3655234c1d8e 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/explore/users/users_tabs.cy.ts
@@ -19,7 +19,7 @@ import { login, visit, visitUserDetailsPage } from '../../../tasks/login';
import { USERS_URL } from '../../../urls/navigation';
-describe('Users stats and tables', () => {
+describe('Users stats and tables', { tags: ['@ess'] }, () => {
before(() => {
cleanKibana();
cy.task('esArchiverLoad', { archiveName: 'users' });
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts
index 4fe47a4416015..0f81d8e3c95a0 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/alert_table_controls.cy.ts
@@ -42,7 +42,7 @@ import { TIMELINES, ALERTS } from '../../../screens/security_header';
*
* */
-describe(`Alert Table Controls`, () => {
+describe(`Alert Table Controls`, { tags: ['@ess'] }, () => {
before(() => {
cleanKibana();
});
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts
index c6013034e6456..d577bb1830ac4 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/event_rendered_view.cy.ts
@@ -33,7 +33,7 @@ import {
XY_CHART,
} from '../../../screens/shared';
-describe(`Event Rendered View`, () => {
+describe(`Event Rendered View`, { tags: ['@ess'] }, () => {
before(() => {
cleanKibana();
});
@@ -52,7 +52,7 @@ describe(`Event Rendered View`, () => {
cy.get(EVENT_SUMMARY_ALERT_RENDERER_CONTENT).should('be.visible');
});
- it('Hover Action TopN in event summary column', () => {
+ it.skip('Hover Action TopN in event summary column', () => {
showHoverActionsEventRenderedView(ALERT_RENDERER_HOST_NAME);
cy.get(HOVER_ACTIONS.SHOW_TOP).trigger('click');
cy.get(TOP_N_ALERT_HISTOGRAM).should('be.visible');
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts
index f833aad0436e0..1fb82c9e35a40 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_prevalence_tab.cy.ts
@@ -32,7 +32,7 @@ import { getNewRule } from '../../../../objects/rule';
import { ALERTS_URL } from '../../../../urls/navigation';
import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule';
-describe('Alert details expandable flyout left panel prevalence', () => {
+describe('Alert details expandable flyout left panel prevalence', { tags: ['@ess'] }, () => {
beforeEach(() => {
cleanKibana();
login();
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts
index 19ed92dbff60f..f2366e230a8cf 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_left_panel_response_tab.cy.ts
@@ -16,7 +16,7 @@ import { getNewRule } from '../../../../objects/rule';
import { ALERTS_URL } from '../../../../urls/navigation';
import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule';
-describe('Alert details expandable flyout left panel investigation', () => {
+describe('Alert details expandable flyout left panel investigation', { tags: ['@ess'] }, () => {
beforeEach(() => {
cleanKibana();
login();
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts
index d22d1894b5325..c8ce960c14adc 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_preview_panel_rule_preview.cy.ts
@@ -35,7 +35,7 @@ import { getNewRule } from '../../../../objects/rule';
import { ALERTS_URL } from '../../../../urls/navigation';
import { waitForAlertsToPopulate } from '../../../../tasks/create_new_rule';
-describe('Alert details expandable flyout rule preview panel', () => {
+describe('Alert details expandable flyout rule preview panel', { tags: ['@ess'] }, () => {
const rule = getNewRule();
beforeEach(() => {
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts
index 903a9c28acaeb..ea1a1bddd0777 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/search_or_filter.cy.ts
@@ -77,7 +77,7 @@ describe('Timeline search and filters', { tags: [tag.ESS, tag.BROKEN_IN_SERVERLE
});
});
- it('should be able to update timeline kqlMode with search', () => {
+ it.skip('should be able to update timeline kqlMode with search', () => {
cy.get(TIMELINE_KQLMODE_SEARCH).click();
cy.wait('@update').then(({ response }) => {
cy.wrap(response?.statusCode).should('eql', 200);
diff --git a/x-pack/test/security_solution_cypress/package.json b/x-pack/test/security_solution_cypress/package.json
index 741205b8f7771..aaf9a697c5526 100644
--- a/x-pack/test/security_solution_cypress/package.json
+++ b/x-pack/test/security_solution_cypress/package.json
@@ -5,18 +5,18 @@
"private": true,
"license": "Elastic License 2.0",
"scripts": {
- "cypress": "../../../node_modules/.bin/cypress",
- "cypress:open:ess": "TZ=UTC node ../../plugins/security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../test/security_solution_cypress/cypress/cypress.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config",
+ "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../node_modules/.bin/cypress",
+ "cypress:open:ess": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../test/security_solution_cypress/cypress/cypress.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config",
"cypress:run:ess": "yarn cypress:ess --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --browser chrome --spec './cypress/e2e/{,!(investigations,explore)/**/}*.cy.ts'; status=$?; yarn junit:merge && exit $status",
"cypress:run:cases:ess": "yarn cypress:ess --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --browser chrome --spec './cypress/e2e/explore/cases/*.cy.ts' --ftr-config-file ../../test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status",
- "cypress:ess": "TZ=UTC node ../../plugins/security_solution/scripts/start_cypress_parallel run --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json",
+ "cypress:ess": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel run --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json",
"cypress:run:respops:ess": "yarn cypress:ess --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --browser chrome --spec './cypress/e2e/(detection_alerts|detection_rules|exceptions)/*.cy.ts' --ftr-config-file ../../test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status",
"cypress:investigations:run:ess": "yarn cypress:ess --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --browser chrome --spec './cypress/e2e/investigations/**/*.cy.ts' --ftr-config-file ../../test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status",
"cypress:explore:run:ess": "yarn cypress:ess --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --browser chrome --spec './cypress/e2e/explore/**/*.cy.ts' --ftr-config-file ../../test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status",
"cypress:changed-specs-only:ess": "yarn cypress:ess --changed-specs-only --env burn=2",
"junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-security-solution/cypress/results/mochawesome*.json > ../../../target/kibana-security-solution/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-security-solution/cypress/results/output.json --reportDir ../../../target/kibana-security-solution/cypress/results && yarn junit:transform && mkdir -p ../../../target/junit && cp ../../../target/kibana-security-solution/cypress/results/*.xml ../../../target/junit/",
"junit:transform": "node ../../plugins/security_solution/scripts/junit_transformer --pathPattern '../../../target/kibana-security-solution/cypress/results/*.xml' --rootDirectory ../../../ --reportName 'Security Solution Cypress' --writeInPlace",
- "cypress:serverless": "TZ=UTC node ../../plugins/security_solution/scripts/start_cypress_parallel --config-file ../../test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts --ftr-config-file ../../test/security_solution_cypress/serverless_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json",
+ "cypress:serverless": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel --config-file ../../test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts --ftr-config-file ../../test/security_solution_cypress/serverless_config --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json",
"cypress:open:serverless": "yarn cypress:serverless open --config-file ../../test/security_solution_cypress/cypress/cypress_serverless.config.ts --spec './cypress/e2e/**/*.cy.ts'",
"cypress:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/{,!(investigations,explore)/**/}*.cy.ts'; status=$?; yarn junit:merge && exit $status",
"cypress:investigations:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/investigations/**/*.cy.ts'; status=$?; yarn junit:merge && exit $status",
diff --git a/x-pack/test_serverless/functional/test_suites/security/cypress/package.json b/x-pack/test_serverless/functional/test_suites/security/cypress/package.json
index fd3033c84be38..f156a350d5221 100644
--- a/x-pack/test_serverless/functional/test_suites/security/cypress/package.json
+++ b/x-pack/test_serverless/functional/test_suites/security/cypress/package.json
@@ -5,9 +5,9 @@
"private": true,
"license": "Elastic License 2.0",
"scripts": {
- "cypress": "../../../../../../node_modules/.bin/cypress",
- "cypress:open": "node ../../../../../plugins/security_solution/scripts/start_cypress_parallel open --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config",
- "cypress:run": "node ../../../../../plugins/security_solution/scripts/start_cypress_parallel run --browser chrome --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config --reporter ../../../../../../node_modules/cypress-multi-reporters --reporter-options configFile=./reporter_config.json; status=$?; yarn junit:merge && exit $status",
+ "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../../../../node_modules/.bin/cypress",
+ "cypress:open": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../plugins/security_solution/scripts/start_cypress_parallel open --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config",
+ "cypress:run": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../plugins/security_solution/scripts/start_cypress_parallel run --browser chrome --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config --reporter ../../../../../../node_modules/cypress-multi-reporters --reporter-options configFile=./reporter_config.json; status=$?; yarn junit:merge && exit $status",
"junit:merge": "../../../../../../node_modules/.bin/mochawesome-merge ../../../../../../target/kibana-security-serverless/cypress/results/mochawesome*.json > ../../../../../../target/kibana-security-serverless/cypress/results/output.json && ../../../../../../node_modules/.bin/marge ../../../../../../target/kibana-security-serverless/cypress/results/output.json --reportDir ../../../../../../target/kibana-security-serverless/cypress/results && mkdir -p ../../../../../../target/junit && cp ../../../../../../target/kibana-security-serverless/cypress/results/*.xml ../../../../../../target/junit/"
}
}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 38ca85722f935..ec64a7f01b794 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1360,7 +1360,7 @@
find-test-names "^1.19.0"
globby "^11.0.4"
-"@cypress/request@^2.88.10":
+"@cypress/request@2.88.12":
version "2.88.12"
resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590"
integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==
@@ -9282,7 +9282,7 @@
dependencies:
"@types/node" "*"
-"@types/node@*", "@types/node@18.17.1", "@types/node@>= 8", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@>=8.9.0", "@types/node@^10.1.0", "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0", "@types/node@^14.14.31":
+"@types/node@*", "@types/node@18.17.1", "@types/node@>= 8", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@>=8.9.0", "@types/node@^10.1.0", "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0", "@types/node@^16.18.39":
version "18.17.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.1.tgz#84c32903bf3a09f7878c391d31ff08f6fe7d8335"
integrity sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==
@@ -13701,14 +13701,14 @@ cypress-recurse@^1.35.1:
dependencies:
humanize-duration "^3.27.3"
-cypress@^12.13.0:
- version "12.13.0"
- resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.13.0.tgz#725b6617ea19e41e5c59cc509fc3e08097142b01"
- integrity sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q==
+cypress@^12.17.4:
+ version "12.17.4"
+ resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.17.4.tgz#b4dadf41673058493fa0d2362faa3da1f6ae2e6c"
+ integrity sha512-gAN8Pmns9MA5eCDFSDJXWKUpaL3IDd89N9TtIupjYnzLSmlpVr+ZR+vb4U/qaMp+lB6tBvAmt7504c3Z4RU5KQ==
dependencies:
- "@cypress/request" "^2.88.10"
+ "@cypress/request" "2.88.12"
"@cypress/xvfb" "^1.2.4"
- "@types/node" "^14.14.31"
+ "@types/node" "^16.18.39"
"@types/sinonjs__fake-timers" "8.1.1"
"@types/sizzle" "^2.3.2"
arch "^2.2.0"
@@ -13741,9 +13741,10 @@ cypress@^12.13.0:
minimist "^1.2.8"
ospath "^1.2.2"
pretty-bytes "^5.6.0"
+ process "^0.11.10"
proxy-from-env "1.0.0"
request-progress "^3.0.0"
- semver "^7.3.2"
+ semver "^7.5.3"
supports-color "^8.1.1"
tmp "~0.2.1"
untildify "^4.0.0"
@@ -15987,7 +15988,7 @@ exec-sh@^0.3.2:
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b"
integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==
-execa@4.1.0, execa@^4.0.2:
+execa@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==