diff --git a/.sass-lint.yml b/.sass-lint.yml
index d6eaaf391de1..9eed50602f52 100644
--- a/.sass-lint.yml
+++ b/.sass-lint.yml
@@ -1,6 +1,7 @@
files:
include:
- 'src/legacy/core_plugins/metrics/**/*.s+(a|c)ss'
+ - 'src/plugins/index_pattern_management/**/*.s+(a|c)ss'
- 'src/plugins/timelion/**/*.s+(a|c)ss'
- 'src/plugins/vis_type_vislib/**/*.s+(a|c)ss'
- 'src/plugins/vis_type_vega/**/*.s+(a|c)ss'
diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md
index a03b1b74fc1a..842f90b7047c 100644
--- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md
+++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md
@@ -81,6 +81,7 @@ readonly links: {
readonly loadingData: string;
readonly introduction: string;
};
+ readonly addData: string;
readonly kibana: string;
readonly siem: {
readonly guide: string;
diff --git a/docs/setup/connect-to-elasticsearch.asciidoc b/docs/setup/connect-to-elasticsearch.asciidoc
index bffb3f97cd1b..f750784c4704 100644
--- a/docs/setup/connect-to-elasticsearch.asciidoc
+++ b/docs/setup/connect-to-elasticsearch.asciidoc
@@ -97,7 +97,7 @@ Using a wildcard is the more popular approach.
comparisons.
+
Kibana reads the index mapping and lists all fields that contain a timestamp. If your
-index doesn't have time-based data, choose *I don't want to use the Time Filter*.
+index doesn't have time-based data, choose *I don't want to use the time filter*.
+
You must select a time field to use global time filters on your dashboards.
diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js
index ee141e1d8ab7..9427cc57805e 100644
--- a/packages/kbn-pm/dist/index.js
+++ b/packages/kbn-pm/dist/index.js
@@ -15108,7 +15108,7 @@ function getMarkerLines(loc, source, opts) {
column: 0,
line: -1
}, loc.start);
- const endLoc = Object.assign({}, startLoc, {}, loc.end);
+ const endLoc = Object.assign({}, startLoc, loc.end);
const {
linesAbove = 2,
linesBelow = 3
@@ -15530,7 +15530,7 @@ function isIdentifierName(name) {
}
}
- return true;
+ return !isFirst;
}
/***/ }),
diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts
index eb54983d0be1..8853d9518199 100644
--- a/src/core/public/doc_links/doc_links_service.ts
+++ b/src/core/public/doc_links/doc_links_service.ts
@@ -109,6 +109,7 @@ export class DocLinksService {
loadingData: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/tutorial-load-dataset.html`,
introduction: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/index-patterns.html`,
},
+ addData: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/connect-to-elasticsearch.html`,
kibana: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/index.html`,
siem: {
guide: `${ELASTIC_WEBSITE_URL}guide/en/security/${DOC_LINK_VERSION}/index.html`,
@@ -209,6 +210,7 @@ export interface DocLinksStart {
readonly loadingData: string;
readonly introduction: string;
};
+ readonly addData: string;
readonly kibana: string;
readonly siem: {
readonly guide: string;
diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md
index 9b421e0172df..0e879d16b463 100644
--- a/src/core/public/public.api.md
+++ b/src/core/public/public.api.md
@@ -576,6 +576,7 @@ export interface DocLinksStart {
readonly loadingData: string;
readonly introduction: string;
};
+ readonly addData: string;
readonly kibana: string;
readonly siem: {
readonly guide: string;
diff --git a/src/dev/build/lib/__mocks__/get_build_number.ts b/src/dev/build/lib/__mocks__/get_build_number.ts
new file mode 100644
index 000000000000..60cfd3d82557
--- /dev/null
+++ b/src/dev/build/lib/__mocks__/get_build_number.ts
@@ -0,0 +1,22 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export function getBuildNumber() {
+ return 12345;
+}
diff --git a/src/dev/build/lib/get_build_number.ts b/src/dev/build/lib/get_build_number.ts
new file mode 100644
index 000000000000..c51204259200
--- /dev/null
+++ b/src/dev/build/lib/get_build_number.ts
@@ -0,0 +1,34 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import os from 'os';
+import execa from 'execa';
+
+export async function getBuildNumber() {
+ if (/^win/.test(os.platform())) {
+ // Windows does not have the wc process and `find /C /V ""` does not consistently work
+ const log = await execa('git', ['log', '--format="%h"']);
+ return log.stdout.split('\n').length;
+ }
+
+ const wc = await execa.command('git log --format="%h" | wc -l', {
+ shell: true,
+ });
+ return parseFloat(wc.stdout.trim());
+}
diff --git a/src/dev/build/lib/version_info.test.ts b/src/dev/build/lib/version_info.test.ts
index 1b0c71bf9220..ec8c363ddacc 100644
--- a/src/dev/build/lib/version_info.test.ts
+++ b/src/dev/build/lib/version_info.test.ts
@@ -20,6 +20,8 @@
import pkg from '../../../../package.json';
import { getVersionInfo } from './version_info';
+jest.mock('./get_build_number');
+
describe('isRelease = true', () => {
it('returns unchanged package.version, build sha, and build number', async () => {
const versionInfo = await getVersionInfo({
diff --git a/src/dev/build/lib/version_info.ts b/src/dev/build/lib/version_info.ts
index 958112c524ba..fb3530b4c4ed 100644
--- a/src/dev/build/lib/version_info.ts
+++ b/src/dev/build/lib/version_info.ts
@@ -17,22 +17,8 @@
* under the License.
*/
-import os from 'os';
-
import execa from 'execa';
-
-async function getBuildNumber() {
- if (/^win/.test(os.platform())) {
- // Windows does not have the wc process and `find /C /V ""` does not consistently work
- const log = await execa('git', ['log', '--format="%h"']);
- return log.stdout.split('\n').length;
- }
-
- const wc = await execa.command('git log --format="%h" | wc -l', {
- shell: true,
- });
- return parseFloat(wc.stdout.trim());
-}
+import { getBuildNumber } from './get_build_number';
interface Options {
isRelease: boolean;
diff --git a/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts
index 6f08c8aa6975..413bf95cde87 100644
--- a/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts
+++ b/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts
@@ -26,13 +26,10 @@ import {
import { Config, Platform } from '../../lib';
import { DownloadNodeBuilds } from './download_node_builds_task';
-// import * as NodeShasumsNS from '../node_shasums';
-// import * as NodeDownloadInfoNS from '../node_download_info';
-// import * as DownloadNS from '../../../lib/download';
-// import { DownloadNodeBuilds } from '../download_node_builds_task';
jest.mock('./node_shasums');
jest.mock('./node_download_info');
jest.mock('../../lib/download');
+jest.mock('../../lib/get_build_number');
expect.addSnapshotSerializer(createAnyInstanceSerializer(ToolingLog));
diff --git a/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts
index 94c421f7c9a6..f1700ef7b578 100644
--- a/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts
+++ b/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts
@@ -27,6 +27,7 @@ import { Config } from '../../lib';
import { ExtractNodeBuilds } from './extract_node_builds_task';
jest.mock('../../lib/fs');
+jest.mock('../../lib/get_build_number');
const Fs = jest.requireMock('../../lib/fs');
diff --git a/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts
index f24b7ffc59c1..19416963d5ed 100644
--- a/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts
+++ b/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts
@@ -29,6 +29,7 @@ import { VerifyExistingNodeBuilds } from './verify_existing_node_builds_task';
jest.mock('./node_shasums');
jest.mock('./node_download_info');
jest.mock('../../lib/fs');
+jest.mock('../../lib/get_build_number');
const { getNodeShasums } = jest.requireMock('./node_shasums');
const { getNodeDownloadInfo } = jest.requireMock('./node_download_info');
diff --git a/src/plugins/data/public/index_patterns/index_patterns/redirect_no_index_pattern.tsx b/src/plugins/data/public/index_patterns/index_patterns/redirect_no_index_pattern.tsx
index 7ed6525db635..ac015f8dd33a 100644
--- a/src/plugins/data/public/index_patterns/index_patterns/redirect_no_index_pattern.tsx
+++ b/src/plugins/data/public/index_patterns/index_patterns/redirect_no_index_pattern.tsx
@@ -40,7 +40,7 @@ export const onRedirectNoIndexPattern = (
const bannerMessage = i18n.translate('data.indexPatterns.ensureDefaultIndexPattern.bannerLabel', {
defaultMessage:
- "In order to visualize and explore data in Kibana, you'll need to create an index pattern to retrieve data from Elasticsearch.",
+ 'To visualize and explore data in Kibana, you must create an index pattern to retrieve data from Elasticsearch.',
});
// Avoid being hostile to new users who don't have an index pattern setup yet
diff --git a/src/plugins/index_pattern_management/public/_templates.scss b/src/plugins/index_pattern_management/public/_templates.scss
new file mode 100644
index 000000000000..5303537bddab
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/_templates.scss
@@ -0,0 +1,11 @@
+%inp-empty-state-footer {
+ background: $euiColorLightestShade;
+ margin: 0 (-$euiSizeL) (-$euiSizeL);
+ padding: $euiSizeL;
+ border-radius: 0 0 $euiBorderRadius $euiBorderRadius;
+
+ // sass-lint:disable-block mixins-before-declarations
+ @include euiBreakpoint('xs', 's') {
+ text-align: center;
+ }
+}
diff --git a/src/plugins/index_pattern_management/public/_variables.scss b/src/plugins/index_pattern_management/public/_variables.scss
new file mode 100644
index 000000000000..5da25a91bd77
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/_variables.scss
@@ -0,0 +1 @@
+$inpEmptyStateMaxWidth: $euiSizeXXL * 19;
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_prompt/index.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_prompt/index.tsx
deleted file mode 100644
index ab3b90177bcf..000000000000
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_prompt/index.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to Elasticsearch B.V. under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch B.V. licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import {
- EuiDescriptionList,
- EuiDescriptionListDescription,
- EuiDescriptionListTitle,
- EuiFlyout,
- EuiFlyoutBody,
- EuiFlyoutHeader,
- EuiHorizontalRule,
- EuiSpacer,
- EuiText,
-} from '@elastic/eui';
-import { FormattedMessage } from '@kbn/i18n/react';
-import React from 'react';
-
-export const CreateIndexPatternPrompt = ({ onClose }: { onClose: () => void }) => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/__snapshots__/create_index_pattern_wizard.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/__snapshots__/create_index_pattern_wizard.test.tsx.snap
index 6d79515c172f..0e5fc0582f72 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/__snapshots__/create_index_pattern_wizard.test.tsx.snap
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/__snapshots__/create_index_pattern_wizard.test.tsx.snap
@@ -62,10 +62,37 @@ exports[`CreateIndexPatternWizard renders index pattern step when there are indi
exports[`CreateIndexPatternWizard renders the empty state when there are no indices 1`] = `
-
+
+
+
+
+
-
+
+
+
+
+
-
- }
- >
-
-
-
- ,
- "learnHowLink":
-
- ,
- "needToIndex":
-
- ,
- }
- }
- />
-
-
-
-
-
-
-`;
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/empty_state.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/empty_state.tsx
deleted file mode 100644
index 43c3bf79026f..000000000000
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/empty_state.tsx
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to Elasticsearch B.V. under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch B.V. licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React from 'react';
-
-import { EuiCallOut, EuiTextColor, EuiLink, EuiButton } from '@elastic/eui';
-
-import { FormattedMessage } from '@kbn/i18n/react';
-import { IBasePath } from 'kibana/public';
-
-export const EmptyState = ({
- onRefresh,
- prependBasePath,
-}: {
- onRefresh: () => void;
- prependBasePath: IBasePath['prepend'];
-}) => (
-
-
- }
- >
-
-
-
-
- ),
- learnHowLink: (
-
-
-
- ),
- getStartedLink: (
-
-
-
- ),
- }}
- />
-
-
-
-
-
-
-
-);
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/__snapshots__/header.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/__snapshots__/header.test.tsx.snap
index c4f735558b1f..851e5cc4c2a7 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/__snapshots__/header.test.tsx.snap
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/__snapshots__/header.test.tsx.snap
@@ -7,7 +7,7 @@ exports[`Header should mark the input as invalid 1`] = `
>
@@ -119,7 +119,7 @@ exports[`Header should render normally 1`] = `
>
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/header.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/header.tsx
index f1bf0d54a1cb..8efa44decf3c 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/header.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/header/header.tsx
@@ -66,7 +66,7 @@ export const Header: React.FC = ({
@@ -127,6 +127,7 @@ export const Header: React.FC = ({
id="checkboxShowSystemIndices"
checked={isIncludingSystemIndices}
onChange={onChangeIncludingSystemIndices}
+ data-test-subj="showSystemAndHiddenIndices"
/>
) : null}
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/indices_list/__snapshots__/indices_list.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/indices_list/__snapshots__/indices_list.test.tsx.snap
index 598de4d90e89..6631a9bbd1d0 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/indices_list/__snapshots__/indices_list.test.tsx.snap
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/indices_list/__snapshots__/indices_list.test.tsx.snap
@@ -2,7 +2,10 @@
exports[`IndicesList should change pages 1`] = `
-
+
-
+
-
+
-
+
-
+
-
+
{rows}
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/__snapshots__/loading_indices.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/__snapshots__/loading_indices.test.tsx.snap
index 9d67ca913d41..a5517f6d4b61 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/__snapshots__/loading_indices.test.tsx.snap
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/__snapshots__/loading_indices.test.tsx.snap
@@ -3,47 +3,33 @@
exports[`LoadingIndices should render normally 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
`;
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/loading_indices.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/loading_indices.tsx
index 16e8d1a9f3e9..82603fd59859 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/loading_indices.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/loading_indices/loading_indices.tsx
@@ -19,34 +19,30 @@
import React from 'react';
-import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTextColor, EuiLoadingSpinner } from '@elastic/eui';
+import { EuiFlexGroup, EuiFlexItem, EuiTitle, EuiLoadingSpinner } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
export const LoadingIndices = ({ ...rest }) => (
-
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
);
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/status_message/status_message.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/status_message/status_message.tsx
index 22b75071b93b..c2c4c84b5168 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/status_message/status_message.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/components/status_message/status_message.tsx
@@ -132,7 +132,7 @@ export const StatusMessage: React.FC = ({
/>
);
- } else if (allIndicesLength) {
+ } else {
statusIcon = undefined;
statusColor = 'warning';
statusMessage = (
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/step_index_pattern.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/step_index_pattern.tsx
index fab638509313..d8555d71d6ec 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/step_index_pattern.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_index_pattern/step_index_pattern.tsx
@@ -159,7 +159,7 @@ export class StepIndexPattern extends Component indexPatternCreationType.getIndexTags(indexName),
query,
this.state.isIncludingSystemIndices
)
@@ -175,13 +175,13 @@ export class StepIndexPattern extends Component indexPatternCreationType.getIndexTags(indexName),
`${query}*`,
this.state.isIncludingSystemIndices
),
getIndices(
this.context.services.http,
- indexPatternCreationType,
+ (indexName: string) => indexPatternCreationType.getIndexTags(indexName),
query,
this.state.isIncludingSystemIndices
),
@@ -227,7 +227,13 @@ export class StepIndexPattern extends Component ;
+ return (
+ <>
+
+
+
+ >
+ );
}
renderStatusMessage(matchedIndices: {
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/__snapshots__/advanced_options.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/__snapshots__/advanced_options.test.tsx.snap
index d1b10fb53202..a2d2023ea060 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/__snapshots__/advanced_options.test.tsx.snap
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/__snapshots__/advanced_options.test.tsx.snap
@@ -7,7 +7,7 @@ exports[`AdvancedOptions should hide if not showing 1`] = `
onClick={[Function]}
>
@@ -25,7 +25,7 @@ exports[`AdvancedOptions should render normally 1`] = `
onClick={[Function]}
>
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/advanced_options.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/advanced_options.tsx
index b8f34095743b..752fcbcd42b5 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/advanced_options.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/advanced_options/advanced_options.tsx
@@ -45,12 +45,12 @@ export const AdvancedOptions: React.FC = ({
{isVisible ? (
) : (
)}
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/__snapshots__/header.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/__snapshots__/header.test.tsx.snap
index 2ac243780b31..9efda4fdac7f 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/__snapshots__/header.test.tsx.snap
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/__snapshots__/header.test.tsx.snap
@@ -17,9 +17,18 @@ exports[`Header should render normally 1`] = `
size="m"
/>
-
- ki*
-
+
+ ki*
+ ,
+ "indexPatternName": "ki*",
+ }
+ }
+ />
`;
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/header.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/header.tsx
index c17b356e159f..530d0688b61c 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/header.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/header/header.tsx
@@ -40,7 +40,14 @@ export const Header: React.FC = ({ indexPattern, indexPatternName }
- {indexPattern}
+ {indexPattern},
+ indexPatternName,
+ }}
+ />
);
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.scss b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.scss
deleted file mode 100644
index 5bd60e8b76af..000000000000
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * 1. Bring the line-height down or else this link expands its container when it becomes visible.
- */
-
-.timeFieldRefreshButton {
- line-height: 1 !important; /* 1 */
-}
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.tsx
index 7a3d72551f46..1eae1055ac5e 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/time_field.tsx
@@ -17,8 +17,6 @@
* under the License.
*/
-import './time_field.scss';
-
import React from 'react';
import {
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.test.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.test.tsx
index b14cd526d7e2..af5618424bbc 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.test.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.test.tsx
@@ -27,7 +27,6 @@ jest.mock('./components/step_index_pattern', () => ({ StepIndexPattern: 'StepInd
jest.mock('./components/step_time_field', () => ({ StepTimeField: 'StepTimeField' }));
jest.mock('./components/header', () => ({ Header: 'Header' }));
jest.mock('./components/loading_state', () => ({ LoadingState: 'LoadingState' }));
-jest.mock('./components/empty_state', () => ({ EmptyState: 'EmptyState' }));
jest.mock('./lib/get_indices', () => ({
getIndices: () => {
return [{ name: 'kibana' }];
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.tsx b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.tsx
index cd76ca09ccb7..a789ebbfadbc 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.tsx
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/create_index_pattern_wizard.tsx
@@ -33,7 +33,6 @@ import { StepIndexPattern } from './components/step_index_pattern';
import { StepTimeField } from './components/step_time_field';
import { Header } from './components/header';
import { LoadingState } from './components/loading_state';
-import { EmptyState } from './components/empty_state';
import { context as contextType } from '../../../../kibana_react/public';
import { getCreateBreadcrumbs } from '../breadcrumbs';
@@ -125,7 +124,13 @@ export class CreateIndexPatternWizard extends Component<
// query local and remote indices, updating state independently
ensureMinimumTime(
this.catchAndWarn(
- getIndices(this.context.services.http, this.state.indexPatternCreationType, `*`, false),
+ getIndices(
+ this.context.services.http,
+ (indexName: string) => this.state.indexPatternCreationType.getIndexTags(indexName),
+ `*`,
+ false
+ ),
+
[],
indicesFailMsg
)
@@ -136,7 +141,13 @@ export class CreateIndexPatternWizard extends Component<
this.catchAndWarn(
// if we get an error from remote cluster query, supply fallback value that allows user entry.
// ['a'] is fallback value
- getIndices(this.context.services.http, this.state.indexPatternCreationType, `*:*`, false),
+ getIndices(
+ this.context.services.http,
+ (indexName: string) => this.state.indexPatternCreationType.getIndexTags(indexName),
+ `*:*`,
+ false
+ ),
+
['a'],
clustersFailMsg
).then((remoteIndices: string[] | MatchedItem[]) =>
@@ -200,39 +211,24 @@ export class CreateIndexPatternWizard extends Component<
};
renderHeader() {
+ const { docLinks, indexPatternCreationType } = this.state;
return (
);
}
renderContent() {
- const {
- allIndices,
- isInitiallyLoadingIndices,
- step,
- indexPattern,
- remoteClustersExist,
- } = this.state;
+ const { allIndices, isInitiallyLoadingIndices, step, indexPattern } = this.state;
if (isInitiallyLoadingIndices) {
return ;
}
- const hasDataIndices = allIndices.some(({ name }: MatchedItem) => !name.startsWith('.'));
- if (!hasDataIndices && !remoteClustersExist) {
- return (
-
- );
- }
-
const header = this.renderHeader();
if (step === 1) {
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.test.ts b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.test.ts
index 4cd28090420a..8f3765b7b5dc 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.test.ts
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.test.ts
@@ -37,7 +37,7 @@ describe('extractTimeFields', () => {
expect(extractTimeFields(fields)).toEqual([
{ display: '@timestamp', fieldName: '@timestamp' },
{ isDisabled: true, display: '───', fieldName: '' },
- { display: `I don't want to use the Time Filter`, fieldName: undefined },
+ { display: `I don't want to use the time filter`, fieldName: undefined },
]);
});
});
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.ts b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.ts
index b7056ad17343..efac21245c25 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.ts
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/extract_time_fields.ts
@@ -45,7 +45,7 @@ export function extractTimeFields(fields: IFieldType[]) {
const noTimeFieldLabel = i18n.translate(
'indexPatternManagement.createIndexPattern.stepTime.noTimeFieldOptionLabel',
{
- defaultMessage: "I don't want to use the Time Filter",
+ defaultMessage: "I don't want to use the time filter",
}
);
const noTimeFieldOption = {
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.test.ts b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.test.ts
index 8e4dd3728433..44a2d1a3be0d 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.test.ts
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.test.ts
@@ -18,7 +18,6 @@
*/
import { getIndices, responseToItemArray } from './get_indices';
-import { IndexPatternCreationConfig } from '../../../../../index_pattern_management/public';
import { httpServiceMock } from '../../../../../../core/public/mocks';
import { ResolveIndexResponseItemIndexAttrs } from '../types';
@@ -44,33 +43,27 @@ export const successfulResponse = {
],
};
-const mockIndexPatternCreationType = new IndexPatternCreationConfig({
- type: 'default',
- name: 'name',
- showSystemIndices: false,
- httpClient: {},
- isBeta: false,
-});
+const mockGetTags = () => [];
const http = httpServiceMock.createStartContract();
http.get.mockResolvedValue(successfulResponse);
describe('getIndices', () => {
it('should work in a basic case', async () => {
- const result = await getIndices(http, mockIndexPatternCreationType, 'kibana', false);
+ const result = await getIndices(http, mockGetTags, 'kibana', false);
expect(result.length).toBe(3);
expect(result[0].name).toBe('f-alias');
expect(result[1].name).toBe('foo');
});
it('should ignore ccs query-all', async () => {
- expect((await getIndices(http, mockIndexPatternCreationType, '*:', false)).length).toBe(0);
+ expect((await getIndices(http, mockGetTags, '*:', false)).length).toBe(0);
});
it('should ignore a single comma', async () => {
- expect((await getIndices(http, mockIndexPatternCreationType, ',', false)).length).toBe(0);
- expect((await getIndices(http, mockIndexPatternCreationType, ',*', false)).length).toBe(0);
- expect((await getIndices(http, mockIndexPatternCreationType, ',foobar', false)).length).toBe(0);
+ expect((await getIndices(http, mockGetTags, ',', false)).length).toBe(0);
+ expect((await getIndices(http, mockGetTags, ',*', false)).length).toBe(0);
+ expect((await getIndices(http, mockGetTags, ',foobar', false)).length).toBe(0);
});
it('response object to item array', () => {
@@ -98,8 +91,8 @@ describe('getIndices', () => {
},
],
};
- expect(responseToItemArray(result, mockIndexPatternCreationType)).toMatchSnapshot();
- expect(responseToItemArray({}, mockIndexPatternCreationType)).toEqual([]);
+ expect(responseToItemArray(result, mockGetTags)).toMatchSnapshot();
+ expect(responseToItemArray({}, mockGetTags)).toEqual([]);
});
describe('errors', () => {
@@ -107,7 +100,7 @@ describe('getIndices', () => {
http.get.mockImplementationOnce(() => {
throw new Error('Test error');
});
- const result = await getIndices(http, mockIndexPatternCreationType, 'kibana', false);
+ const result = await getIndices(http, mockGetTags, 'kibana', false);
expect(result.length).toBe(0);
});
});
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts
index c6a11de1bc4f..6844e90316e2 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts
+++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/lib/get_indices.ts
@@ -38,7 +38,7 @@ const frozenLabel = i18n.translate('indexPatternManagement.frozenLabel', {
export async function getIndices(
http: HttpStart,
- indexPatternCreationType: IndexPatternCreationConfig,
+ getIndexTags: IndexPatternCreationConfig['getIndexTags'],
rawPattern: string,
showAllIndices: boolean
): Promise {
@@ -73,7 +73,7 @@ export async function getIndices(
return [];
}
- return responseToItemArray(response, indexPatternCreationType);
+ return responseToItemArray(response, getIndexTags);
} catch {
return [];
}
@@ -81,7 +81,7 @@ export async function getIndices(
export const responseToItemArray = (
response: ResolveIndexResponse,
- indexPatternCreationType: IndexPatternCreationConfig
+ getIndexTags: IndexPatternCreationConfig['getIndexTags']
): MatchedItem[] => {
const source: MatchedItem[] = [];
@@ -89,7 +89,7 @@ export const responseToItemArray = (
const tags: MatchedItem['tags'] = [{ key: 'index', name: indexLabel, color: 'default' }];
const isFrozen = (index.attributes || []).includes(ResolveIndexResponseItemIndexAttrs.FROZEN);
- tags.push(...indexPatternCreationType.getIndexTags(index.name));
+ tags.push(...getIndexTags(index.name));
if (isFrozen) {
tags.push({ name: frozenLabel, key: 'frozen', color: 'danger' });
}
diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx b/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx
index 4b538af7c5fe..987e8f0dae3a 100644
--- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx
+++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx
@@ -27,7 +27,6 @@ import {
EuiBadge,
EuiText,
EuiLink,
- EuiIcon,
EuiCallOut,
EuiPanel,
} from '@elastic/eui';
@@ -162,7 +161,7 @@ export const EditIndexPattern = withRouter(
const timeFilterHeader = i18n.translate(
'indexPatternManagement.editIndexPattern.timeFilterHeader',
{
- defaultMessage: "Time Filter field name: '{timeFieldName}'",
+ defaultMessage: "Time field: '{timeFieldName}'",
values: { timeFieldName: indexPattern.timeFieldName },
}
);
@@ -187,62 +186,55 @@ export const EditIndexPattern = withRouter(
return (
-
-
-
-
- {showTagsSection && (
-
- {Boolean(indexPattern.timeFieldName) && (
-
- {timeFilterHeader}
-
- )}
- {tags.map((tag: any) => (
-
- {tag.name}
-
- ))}
-
+
+
+ {showTagsSection && (
+
+ {Boolean(indexPattern.timeFieldName) && (
+
+ {timeFilterHeader}
+
)}
-
-
-
- {indexPattern.title} }}
- />{' '}
-
- {mappingAPILink}
-
-
-
-
- {conflictedFields.length > 0 && (
-
- {mappingConflictLabel}
-
- )}
-
-
-
-
-
+ {tags.map((tag: any) => (
+
+ {tag.name}
+
+ ))}
+
+ )}
+
+
+
+ {indexPattern.title} }}
+ />{' '}
+
+ {mappingAPILink}
+
+
+
+ {conflictedFields.length > 0 && (
+ <>
+
+
+ {mappingConflictLabel}
+
+ >
+ )}
+
+
);
diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/index_header/index_header.tsx b/src/plugins/index_pattern_management/public/components/edit_index_pattern/index_header/index_header.tsx
index 4cf43d63d583..8ca8c6453c7e 100644
--- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/index_header/index_header.tsx
+++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/index_header/index_header.tsx
@@ -19,14 +19,7 @@
import React from 'react';
import { i18n } from '@kbn/i18n';
-import {
- EuiFlexGroup,
- EuiToolTip,
- EuiFlexItem,
- EuiIcon,
- EuiTitle,
- EuiButtonIcon,
-} from '@elastic/eui';
+import { EuiFlexGroup, EuiToolTip, EuiFlexItem, EuiTitle, EuiButtonIcon } from '@elastic/eui';
import { IIndexPattern } from 'src/plugins/data/public';
interface IndexHeaderProps {
@@ -77,22 +70,13 @@ export function IndexHeader({
return (
-
- {defaultIndex === indexPattern.id && (
-
-
-
- )}
-
-
- {indexPattern.title}
-
-
-
+
+ {indexPattern.title}
+
-
- {setDefault && (
+
+ {defaultIndex !== indexPattern.id && setDefault && (
setFieldFilter(e.target.value)}
diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_help/test_script.scss b/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_help/test_script.scss
index 34e8a60d0707..ca230711827d 100644
--- a/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_help/test_script.scss
+++ b/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_help/test_script.scss
@@ -1,5 +1,5 @@
.testScript__searchBar {
- .globalQueryBar {
+ .globalQueryBar {
padding: $euiSize 0 0;
}
}
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/__snapshots__/empty_index_pattern_prompt.test.tsx.snap b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/__snapshots__/empty_index_pattern_prompt.test.tsx.snap
new file mode 100644
index 000000000000..c5e6d1220d8b
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/__snapshots__/empty_index_pattern_prompt.test.tsx.snap
@@ -0,0 +1,99 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`EmptyIndexPatternPrompt should render normally 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.scss b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.scss
new file mode 100644
index 000000000000..cd0477aba7ad
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.scss
@@ -0,0 +1,9 @@
+.indexPatternIllustration {
+ &__verticalStripes {
+ fill: $euiColorFullShade;
+ }
+
+ &__dots {
+ fill: $euiColorLightShade;
+ }
+}
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.tsx
new file mode 100644
index 000000000000..2461c0f5df91
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/assets/index_pattern_illustration.tsx
@@ -0,0 +1,551 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import './index_pattern_illustration.scss';
+import React from 'react';
+
+const IndexPatternIllustration = () => (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+);
+
+export const Illustration = IndexPatternIllustration;
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.scss b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.scss
new file mode 100644
index 000000000000..11ac55b098a5
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.scss
@@ -0,0 +1,31 @@
+@import '../../../variables';
+@import '../../../templates';
+
+.inpEmptyIndexPatternPrompt {
+ // override EUI specificity
+ max-width: $inpEmptyStateMaxWidth !important; // sass-lint:disable-line no-important
+}
+
+.inpEmptyIndexPatternPrompt__footer {
+ @extend %inp-empty-state-footer;
+ // override EUI specificity
+ align-items: baseline !important; // sass-lint:disable-line no-important
+}
+
+.inpEmptyIndexPatternPrompt__title {
+ // override EUI specificity
+ width: auto !important; // sass-lint:disable-line no-important
+}
+
+@include euiBreakpoint('xs', 's') {
+ .inpEmptyIndexPatternPrompt__illustration > svg {
+ width: $euiSize * 12;
+ height: auto;
+ margin: 0 auto;
+ }
+
+ .inpEmptyIndexPatternPrompt__text {
+ text-align: center;
+ align-items: center;
+ }
+}
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/empty_state.test.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.test.tsx
similarity index 57%
rename from src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/empty_state.test.tsx
rename to src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.test.tsx
index 7fa39363e3ef..83eb803333af 100644
--- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/empty_state.test.tsx
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.test.tsx
@@ -18,30 +18,20 @@
*/
import React from 'react';
-import { EmptyState } from '../empty_state';
-import { shallow } from 'enzyme';
-import sinon from 'sinon';
+import { EmptyIndexPatternPrompt } from '../empty_index_pattern_prompt';
+import { shallowWithI18nProvider } from 'test_utils/enzyme_helpers';
-describe('EmptyState', () => {
+describe('EmptyIndexPatternPrompt', () => {
it('should render normally', () => {
- const component = shallow( {}} prependBasePath={(x) => x} />);
+ const component = shallowWithI18nProvider(
+ {} }]}
+ docLinksIndexPatternIntro={'testUrl'}
+ setBreadcrumbs={() => {}}
+ />
+ );
expect(component).toMatchSnapshot();
});
-
- describe('props', () => {
- describe('onRefresh', () => {
- it('is called when refresh button is clicked', () => {
- const onRefreshHandler = sinon.stub();
-
- const component = shallow(
- x} />
- );
-
- component.find('[data-test-subj="refreshIndicesButton"]').simulate('click');
-
- sinon.assert.calledOnce(onRefreshHandler);
- });
- });
- });
});
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.tsx
new file mode 100644
index 000000000000..de389097fd4b
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/empty_index_pattern_prompt.tsx
@@ -0,0 +1,111 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import './empty_index_pattern_prompt.scss';
+
+import React from 'react';
+import { FormattedMessage } from '@kbn/i18n/react';
+
+import { EuiPageContent, EuiSpacer, EuiText, EuiFlexItem, EuiFlexGroup } from '@elastic/eui';
+import { EuiDescriptionListTitle } from '@elastic/eui';
+import { EuiDescriptionListDescription, EuiDescriptionList } from '@elastic/eui';
+import { EuiLink } from '@elastic/eui';
+import { getListBreadcrumbs } from '../../breadcrumbs';
+import { IndexPatternCreationOption } from '../../types';
+import { CreateButton } from '../../create_button';
+import { Illustration } from './assets/index_pattern_illustration';
+import { ManagementAppMountParams } from '../../../../../management/public';
+
+interface Props {
+ canSave: boolean;
+ creationOptions: IndexPatternCreationOption[];
+ docLinksIndexPatternIntro: string;
+ setBreadcrumbs: ManagementAppMountParams['setBreadcrumbs'];
+}
+
+export const EmptyIndexPatternPrompt = ({
+ canSave,
+ creationOptions,
+ docLinksIndexPatternIntro,
+ setBreadcrumbs,
+}: Props) => {
+ setBreadcrumbs(getListBreadcrumbs());
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {canSave && (
+
+
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/index.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/index.tsx
new file mode 100644
index 000000000000..239bb272b23a
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_index_pattern_prompt/index.tsx
@@ -0,0 +1,20 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export { EmptyIndexPatternPrompt } from './empty_index_pattern_prompt';
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap
new file mode 100644
index 000000000000..645694371f90
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap
@@ -0,0 +1,216 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`EmptyState should render normally 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ icon={
+
+ }
+ onClick={[Function]}
+ title={
+
+ }
+ />
+
+
+
+ }
+ icon={
+
+ }
+ isDisabled={false}
+ onClick={[Function]}
+ title={
+
+ }
+ />
+
+
+
+ }
+ icon={
+
+ }
+ onClick={[Function]}
+ title={
+
+ }
+ />
+
+
+
+
+
+
+
+
+ ,
+ "title": ,
+ },
+ ]
+ }
+ />
+
+
+
+
+
+
+ ,
+ "title": ,
+ },
+ ]
+ }
+ />
+
+
+
+
+
+
+
+
+
+ ,
+ }
+ }
+ />
+
+
+`;
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.scss b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.scss
new file mode 100644
index 000000000000..37889b9d7c48
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.scss
@@ -0,0 +1,23 @@
+@import '../../../variables';
+@import '../../../templates';
+
+.inpEmptyState {
+ // override EUI specificity
+ max-width: $inpEmptyStateMaxWidth !important; // sass-lint:disable-line no-important
+}
+
+.inpEmptyState__cardGrid {
+ justify-content: center;
+}
+
+.inpEmptyState__card {
+ min-width: $euiSizeXL * 6;
+}
+
+.inpEmptyState__footer {
+ @extend %inp-empty-state-footer;
+}
+
+.inpEmptyState__footerFlexItem {
+ min-width: $euiSizeXL * 7;
+}
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.test.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.test.tsx
new file mode 100644
index 000000000000..7b2cc0f4c3c6
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.test.tsx
@@ -0,0 +1,74 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import React from 'react';
+import { EmptyState } from '../empty_state';
+import { shallow } from 'enzyme';
+import sinon from 'sinon';
+// @ts-expect-error
+import { findTestSubject } from '@elastic/eui/lib/test';
+import { mountWithIntl } from 'test_utils/enzyme_helpers';
+import { docLinksServiceMock } from '../../../../../../core/public/mocks';
+import { MlCardState } from '../../../types';
+
+const docLinks = docLinksServiceMock.createStartContract();
+
+jest.mock('react-router-dom', () => ({
+ useHistory: () => ({
+ createHref: jest.fn(),
+ }),
+}));
+
+describe('EmptyState', () => {
+ it('should render normally', () => {
+ const component = shallow(
+ {}}
+ navigateToApp={async () => {}}
+ getMlCardState={() => MlCardState.ENABLED}
+ canSave={true}
+ />
+ );
+
+ expect(component).toMatchSnapshot();
+ });
+
+ describe('props', () => {
+ describe('onRefresh', () => {
+ it('is called when refresh button is clicked', () => {
+ const onRefreshHandler = sinon.stub();
+
+ const component = mountWithIntl(
+ {}}
+ getMlCardState={() => MlCardState.ENABLED}
+ canSave={true}
+ />
+ );
+
+ findTestSubject(component, 'refreshIndicesButton').simulate('click');
+
+ sinon.assert.calledOnce(onRefreshHandler);
+ });
+ });
+ });
+});
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx
new file mode 100644
index 000000000000..e758184f0f14
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx
@@ -0,0 +1,234 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import './empty_state.scss';
+import React from 'react';
+import { i18n } from '@kbn/i18n';
+import { FormattedMessage } from '@kbn/i18n/react';
+import { DocLinksStart, ApplicationStart } from 'kibana/public';
+import {
+ EuiPageContentHeader,
+ EuiPageContentHeaderSection,
+ EuiTitle,
+ EuiPageContentBody,
+ EuiPageContent,
+ EuiIcon,
+ EuiSpacer,
+ EuiFlexItem,
+ EuiDescriptionList,
+ EuiFlexGrid,
+ EuiCard,
+ EuiLink,
+ EuiText,
+} from '@elastic/eui';
+import { useHistory } from 'react-router-dom';
+import { reactRouterNavigate } from '../../../../../../plugins/kibana_react/public';
+import { MlCardState } from '../../../types';
+
+export const EmptyState = ({
+ onRefresh,
+ navigateToApp,
+ docLinks,
+ getMlCardState,
+ canSave,
+}: {
+ onRefresh: () => void;
+ navigateToApp: ApplicationStart['navigateToApp'];
+ docLinks: DocLinksStart;
+ getMlCardState: () => MlCardState;
+ canSave: boolean;
+}) => {
+ const mlCard = (
+
+ navigateToApp('ml', { path: '#/filedatavisualizer' })}
+ className="inpEmptyState__card"
+ betaBadgeLabel={
+ getMlCardState() === MlCardState.ENABLED
+ ? undefined
+ : i18n.translate(
+ 'indexPatternManagement.createIndexPattern.emptyState.basicLicenseLabel',
+ {
+ defaultMessage: 'Basic',
+ }
+ )
+ }
+ betaBadgeTooltipContent={i18n.translate(
+ 'indexPatternManagement.createIndexPattern.emptyState.basicLicenseDescription',
+ {
+ defaultMessage: 'This feature requires a Basic license.',
+ }
+ )}
+ isDisabled={getMlCardState() === MlCardState.DISABLED}
+ icon={ }
+ title={
+
+ }
+ description={
+
+ }
+ />
+
+ );
+
+ const createAnyway = (
+
+
+
+
+ ),
+ }}
+ />
+
+ );
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ navigateToApp('home', { path: '#/tutorial_directory' })}
+ icon={ }
+ title={
+
+ }
+ description={
+
+ }
+ />
+
+ {getMlCardState() !== MlCardState.HIDDEN ? mlCard : <>>}
+
+ navigateToApp('home', { path: '#/tutorial_directory/sampleData' })}
+ icon={ }
+ title={
+
+ }
+ description={
+
+ }
+ />
+
+
+
+
+
+
+
+ ),
+ description: (
+
+
+
+ ),
+ },
+ ]}
+ />
+
+
+
+ ),
+ description: (
+
+ {' '}
+
+
+ ),
+ },
+ ]}
+ />
+
+
+
+
+
+
+ {canSave && createAnyway}
+ >
+ );
+};
diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/index.ts b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/index.ts
similarity index 100%
rename from src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/index.ts
rename to src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/index.ts
diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/index_pattern_table.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/index_pattern_table.tsx
index 947882b8df49..2768314a7586 100644
--- a/src/plugins/index_pattern_management/public/components/index_pattern_table/index_pattern_table.tsx
+++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/index_pattern_table.tsx
@@ -20,14 +20,14 @@
import {
EuiBadge,
EuiButtonEmpty,
- EuiButtonIcon,
EuiFlexGroup,
EuiFlexItem,
EuiInMemoryTable,
- EuiPanel,
EuiSpacer,
EuiText,
EuiBadgeGroup,
+ EuiPageContent,
+ EuiTitle,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { withRouter, RouteComponentProps } from 'react-router-dom';
@@ -36,10 +36,13 @@ import { i18n } from '@kbn/i18n';
import { reactRouterNavigate, useKibana } from '../../../../../plugins/kibana_react/public';
import { IndexPatternManagmentContext } from '../../types';
import { CreateButton } from '../create_button';
-import { CreateIndexPatternPrompt } from '../create_index_pattern_prompt';
import { IndexPatternTableItem, IndexPatternCreationOption } from '../types';
import { getIndexPatterns } from '../utils';
import { getListBreadcrumbs } from '../breadcrumbs';
+import { EmptyState } from './empty_state';
+import { MatchedItem, ResolveIndexResponseItemAlias } from '../create_index_pattern_wizard/types';
+import { EmptyIndexPatternPrompt } from './empty_index_pattern_prompt';
+import { getIndices } from '../create_index_pattern_wizard/lib';
const pagination = {
initialPageSize: 10,
@@ -81,13 +84,19 @@ export const IndexPatternTable = ({ canSave, history }: Props) => {
uiSettings,
indexPatternManagementStart,
chrome,
+ docLinks,
+ application,
+ http,
+ getMlCardState,
} = useKibana().services;
- const [showFlyout, setShowFlyout] = useState(false);
const [indexPatterns, setIndexPatterns] = useState([]);
const [creationOptions, setCreationOptions] = useState([]);
+ const [sources, setSources] = useState([]);
+ const [remoteClustersExist, setRemoteClustersExist] = useState(false);
+ const [isLoadingSources, setIsLoadingSources] = useState(true);
+ const [isLoadingIndexPatterns, setIsLoadingIndexPatterns] = useState(true);
setBreadcrumbs(getListBreadcrumbs());
-
useEffect(() => {
(async function () {
const options = await indexPatternManagementStart.creation.getIndexPatternCreationOptions(
@@ -98,9 +107,9 @@ export const IndexPatternTable = ({ canSave, history }: Props) => {
uiSettings.get('defaultIndex'),
indexPatternManagementStart
);
+ setIsLoadingIndexPatterns(false);
setCreationOptions(options);
setIndexPatterns(gettedIndexPatterns);
- setShowFlyout(gettedIndexPatterns.length === 0);
})();
}, [
history.push,
@@ -110,6 +119,28 @@ export const IndexPatternTable = ({ canSave, history }: Props) => {
savedObjects.client,
]);
+ const removeAliases = (item: MatchedItem) =>
+ !((item as unknown) as ResolveIndexResponseItemAlias).indices;
+
+ const loadSources = () => {
+ getIndices(http, () => [], '*', false).then((dataSources) =>
+ setSources(dataSources.filter(removeAliases))
+ );
+ getIndices(http, () => [], '*:*', false).then((dataSources) =>
+ setRemoteClustersExist(!!dataSources.filter(removeAliases).length)
+ );
+ };
+
+ useEffect(() => {
+ getIndices(http, () => [], '*', false).then((dataSources) => {
+ setSources(dataSources.filter(removeAliases));
+ setIsLoadingSources(false);
+ });
+ getIndices(http, () => [], '*:*', false).then((dataSources) =>
+ setRemoteClustersExist(!!dataSources.filter(removeAliases).length)
+ );
+ }, [http, creationOptions]);
+
chrome.docTitle.change(title);
const columns = [
@@ -130,12 +161,11 @@ export const IndexPatternTable = ({ canSave, history }: Props) => {
{name}
+
{index.tags &&
index.tags.map(({ key: tagKey, name: tagName }) => (
-
- {tagName}
-
+ {tagName}
))}
>
@@ -156,31 +186,51 @@ export const IndexPatternTable = ({ canSave, history }: Props) => {
<>>
);
+ if (isLoadingSources || isLoadingIndexPatterns) {
+ return <>>;
+ }
+
+ const hasDataIndices = sources.some(({ name }: MatchedItem) => !name.startsWith('.'));
+
+ if (!indexPatterns.length) {
+ if (!hasDataIndices && !remoteClustersExist) {
+ return (
+
+ );
+ } else {
+ return (
+
+ );
+ }
+ }
+
return (
-
- {showFlyout && setShowFlyout(false)} />}
+
-
-
-
-
- {title}
-
-
-
- setShowFlyout(true)}
- aria-label="Help"
+
+
+ {title}
+
+
+
+
+
-
-
+
+
{createButton}
@@ -195,7 +245,7 @@ export const IndexPatternTable = ({ canSave, history }: Props) => {
sorting={sorting}
search={search}
/>
-
+
);
};
diff --git a/src/plugins/index_pattern_management/public/index.ts b/src/plugins/index_pattern_management/public/index.ts
index 2d6db13757ee..9a0fd39fb4fd 100644
--- a/src/plugins/index_pattern_management/public/index.ts
+++ b/src/plugins/index_pattern_management/public/index.ts
@@ -41,3 +41,5 @@ export {
IndexPatternCreationOption,
IndexPatternListConfig,
} from './service';
+
+export { MlCardState } from './types';
diff --git a/src/plugins/index_pattern_management/public/management_app/mount_management_section.tsx b/src/plugins/index_pattern_management/public/management_app/mount_management_section.tsx
index bcabd55c8797..add45a07e0c5 100644
--- a/src/plugins/index_pattern_management/public/management_app/mount_management_section.tsx
+++ b/src/plugins/index_pattern_management/public/management_app/mount_management_section.tsx
@@ -34,7 +34,7 @@ import {
CreateIndexPatternWizardWithRouter,
} from '../components';
import { IndexPatternManagementStartDependencies, IndexPatternManagementStart } from '../plugin';
-import { IndexPatternManagmentContext } from '../types';
+import { IndexPatternManagmentContext, MlCardState } from '../types';
const readOnlyBadge = {
text: i18n.translate('indexPatternManagement.indexPatterns.badge.readOnly.text', {
@@ -48,7 +48,8 @@ const readOnlyBadge = {
export async function mountManagementSection(
getStartServices: StartServicesAccessor,
- params: ManagementAppMountParams
+ params: ManagementAppMountParams,
+ getMlCardState: () => MlCardState
) {
const [
{ chrome, application, savedObjects, uiSettings, notifications, overlays, http, docLinks },
@@ -73,6 +74,7 @@ export async function mountManagementSection(
data,
indexPatternManagementStart: indexPatternManagementStart as IndexPatternManagementStart,
setBreadcrumbs: params.setBreadcrumbs,
+ getMlCardState,
};
ReactDOM.render(
diff --git a/src/plugins/index_pattern_management/public/mocks.ts b/src/plugins/index_pattern_management/public/mocks.ts
index ec8100db4208..6a9ef23e3732 100644
--- a/src/plugins/index_pattern_management/public/mocks.ts
+++ b/src/plugins/index_pattern_management/public/mocks.ts
@@ -39,6 +39,9 @@ const createSetupContract = (): IndexPatternManagementSetup => ({
getAll: jest.fn(),
getById: jest.fn(),
} as any,
+ environment: {
+ update: jest.fn(),
+ },
});
const createStartContract = (): IndexPatternManagementStart => ({
diff --git a/src/plugins/index_pattern_management/public/plugin.ts b/src/plugins/index_pattern_management/public/plugin.ts
index fe680eff8657..ee1e00fcafd9 100644
--- a/src/plugins/index_pattern_management/public/plugin.ts
+++ b/src/plugins/index_pattern_management/public/plugin.ts
@@ -86,7 +86,9 @@ export class IndexPatternManagementPlugin
mount: async (params) => {
const { mountManagementSection } = await import('./management_app');
- return mountManagementSection(core.getStartServices, params);
+ return mountManagementSection(core.getStartServices, params, () =>
+ this.indexPatternManagementService.environmentService.getEnvironment().ml()
+ );
},
});
diff --git a/src/plugins/index_pattern_management/public/service/environment/environment.mock.ts b/src/plugins/index_pattern_management/public/service/environment/environment.mock.ts
new file mode 100644
index 000000000000..2c2c68b8ead2
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/service/environment/environment.mock.ts
@@ -0,0 +1,44 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { EnvironmentService, EnvironmentServiceSetup } from './environment';
+import { MlCardState } from '../../types';
+
+const createSetupMock = (): jest.Mocked => {
+ const setup = {
+ update: jest.fn(),
+ };
+ return setup;
+};
+
+const createMock = (): jest.Mocked> => {
+ const service = {
+ setup: jest.fn(),
+ getEnvironment: jest.fn(() => ({
+ ml: () => MlCardState.ENABLED,
+ })),
+ };
+ service.setup.mockImplementation(createSetupMock);
+ return service;
+};
+
+export const environmentServiceMock = {
+ createSetup: createSetupMock,
+ create: createMock,
+};
diff --git a/src/plugins/index_pattern_management/public/service/environment/environment.test.ts b/src/plugins/index_pattern_management/public/service/environment/environment.test.ts
new file mode 100644
index 000000000000..1aa67ba751b8
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/service/environment/environment.test.ts
@@ -0,0 +1,49 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { EnvironmentService } from './environment';
+import { MlCardState } from '../../types';
+
+describe('EnvironmentService', () => {
+ describe('setup', () => {
+ test('allows multiple update calls', () => {
+ const setup = new EnvironmentService().setup();
+ expect(() => {
+ setup.update({ ml: () => MlCardState.ENABLED });
+ }).not.toThrow();
+ });
+ });
+
+ describe('getEnvironment', () => {
+ test('returns default values', () => {
+ const service = new EnvironmentService();
+ expect(service.getEnvironment().ml()).toEqual(MlCardState.DISABLED);
+ });
+
+ test('returns last state of update calls', () => {
+ let cardState = MlCardState.DISABLED;
+ const service = new EnvironmentService();
+ const setup = service.setup();
+ setup.update({ ml: () => cardState });
+ expect(service.getEnvironment().ml()).toEqual(MlCardState.DISABLED);
+ cardState = MlCardState.ENABLED;
+ expect(service.getEnvironment().ml()).toEqual(MlCardState.ENABLED);
+ });
+ });
+});
diff --git a/src/plugins/index_pattern_management/public/service/environment/environment.ts b/src/plugins/index_pattern_management/public/service/environment/environment.ts
new file mode 100644
index 000000000000..f40ce3589fa7
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/service/environment/environment.ts
@@ -0,0 +1,52 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { MlCardState } from '../../types';
+
+/** @public */
+export interface Environment {
+ /**
+ * Flag whether ml features should be advertised
+ */
+ readonly ml: () => MlCardState;
+}
+
+export class EnvironmentService {
+ private environment = {
+ ml: () => MlCardState.DISABLED,
+ };
+
+ public setup() {
+ return {
+ /**
+ * Update the environment to influence how available features are presented.
+ * @param update
+ */
+ update: (update: Partial) => {
+ this.environment = Object.assign({}, this.environment, update);
+ },
+ };
+ }
+
+ public getEnvironment() {
+ return this.environment;
+ }
+}
+
+export type EnvironmentServiceSetup = ReturnType;
diff --git a/src/plugins/index_pattern_management/public/service/environment/index.ts b/src/plugins/index_pattern_management/public/service/environment/index.ts
new file mode 100644
index 000000000000..91d14c358e7d
--- /dev/null
+++ b/src/plugins/index_pattern_management/public/service/environment/index.ts
@@ -0,0 +1,20 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export { EnvironmentService, Environment, EnvironmentServiceSetup } from './environment';
diff --git a/src/plugins/index_pattern_management/public/service/index_pattern_management_service.ts b/src/plugins/index_pattern_management/public/service/index_pattern_management_service.ts
index d4cc9c95e76a..06b9b83b1b60 100644
--- a/src/plugins/index_pattern_management/public/service/index_pattern_management_service.ts
+++ b/src/plugins/index_pattern_management/public/service/index_pattern_management_service.ts
@@ -21,6 +21,7 @@ import { HttpSetup } from '../../../../core/public';
import { IndexPatternCreationManager, IndexPatternCreationConfig } from './creation';
import { IndexPatternListManager, IndexPatternListConfig } from './list';
import { FieldFormatEditors } from './field_format_editors';
+import { EnvironmentService } from './environment';
import {
BytesFormatEditor,
@@ -49,11 +50,13 @@ export class IndexPatternManagementService {
indexPatternCreationManager: IndexPatternCreationManager;
indexPatternListConfig: IndexPatternListManager;
fieldFormatEditors: FieldFormatEditors;
+ environmentService: EnvironmentService;
constructor() {
this.indexPatternCreationManager = new IndexPatternCreationManager();
this.indexPatternListConfig = new IndexPatternListManager();
this.fieldFormatEditors = new FieldFormatEditors();
+ this.environmentService = new EnvironmentService();
}
public setup({ httpClient }: SetupDependencies) {
@@ -83,6 +86,7 @@ export class IndexPatternManagementService {
creation: creationManagerSetup,
list: indexPatternListConfigSetup,
fieldFormatEditors: fieldFormatEditorsSetup,
+ environment: this.environmentService.setup(),
};
}
diff --git a/src/plugins/index_pattern_management/public/types.ts b/src/plugins/index_pattern_management/public/types.ts
index 97941687e652..2876bd622735 100644
--- a/src/plugins/index_pattern_management/public/types.ts
+++ b/src/plugins/index_pattern_management/public/types.ts
@@ -44,8 +44,15 @@ export interface IndexPatternManagmentContext {
data: DataPublicPluginStart;
indexPatternManagementStart: IndexPatternManagementStart;
setBreadcrumbs: ManagementAppMountParams['setBreadcrumbs'];
+ getMlCardState: () => MlCardState;
}
export type IndexPatternManagmentContextValue = KibanaReactContextValue<
IndexPatternManagmentContext
>;
+
+export enum MlCardState {
+ HIDDEN,
+ DISABLED,
+ ENABLED,
+}
diff --git a/test/functional/apps/management/_index_patterns_empty.ts b/test/functional/apps/management/_index_patterns_empty.ts
new file mode 100644
index 000000000000..4ae2e7836ac3
--- /dev/null
+++ b/test/functional/apps/management/_index_patterns_empty.ts
@@ -0,0 +1,66 @@
+/*
+ * Licensed to Elasticsearch B.V. under one or more contributor
+ * license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright
+ * ownership. Elasticsearch B.V. licenses this file to you under
+ * the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { FtrProviderContext } from '../../ftr_provider_context';
+
+export default function ({ getPageObjects, getService }: FtrProviderContext) {
+ const esArchiver = getService('esArchiver');
+ const kibanaServer = getService('kibanaServer');
+ const PageObjects = getPageObjects(['common', 'settings']);
+ const testSubjects = getService('testSubjects');
+ const globalNav = getService('globalNav');
+ const es = getService('legacyEs');
+
+ describe('index pattern empty view', () => {
+ before(async () => {
+ await esArchiver.load('empty_kibana');
+ await kibanaServer.uiSettings.replace({});
+ await PageObjects.settings.navigateTo();
+ });
+
+ after(async () => {
+ await esArchiver.unload('empty_kibana');
+ await esArchiver.loadIfNeeded('makelogs');
+ });
+
+ // create index pattern and return to verify list
+ it(`shows empty views`, async () => {
+ // @ts-expect-error
+ await es.transport.request({
+ path: '/_all',
+ method: 'DELETE',
+ });
+ await PageObjects.settings.clickKibanaIndexPatterns();
+ await testSubjects.existOrFail('createAnyway');
+ // @ts-expect-error
+ await es.transport.request({
+ path: '/logstash-a/_doc',
+ method: 'POST',
+ body: { user: 'matt', message: 20 },
+ });
+ await testSubjects.click('refreshIndicesButton');
+ await testSubjects.existOrFail('createIndexPatternButton', { timeout: 5000 });
+ await PageObjects.settings.createIndexPattern('logstash-*', '');
+ });
+
+ it(`doesn't show read-only badge`, async () => {
+ await globalNav.badgeMissingOrFail();
+ });
+ });
+}
diff --git a/test/functional/apps/management/_kibana_settings.js b/test/functional/apps/management/_kibana_settings.js
index 2a488a94c688..e2b20bacc0b3 100644
--- a/test/functional/apps/management/_kibana_settings.js
+++ b/test/functional/apps/management/_kibana_settings.js
@@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }) {
before(async function () {
// delete .kibana index and then wait for Kibana to re-create it
await kibanaServer.uiSettings.replace({});
- await PageObjects.settings.createIndexPattern();
+ await PageObjects.settings.createIndexPattern('logstash-*');
await PageObjects.settings.navigateTo();
});
diff --git a/test/functional/apps/management/index.js b/test/functional/apps/management/index.js
index 97e7314f9678..d5f0c286af7a 100644
--- a/test/functional/apps/management/index.js
+++ b/test/functional/apps/management/index.js
@@ -43,6 +43,7 @@ export default function ({ getService, loadTestFile }) {
loadTestFile(require.resolve('./_scripted_fields'));
loadTestFile(require.resolve('./_scripted_fields_preview'));
loadTestFile(require.resolve('./_mgmt_import_saved_objects'));
+ loadTestFile(require.resolve('./_index_patterns_empty'));
});
describe('', function () {
diff --git a/test/functional/page_objects/settings_page.ts b/test/functional/page_objects/settings_page.ts
index 4b80647c8749..a4285a5f94d5 100644
--- a/test/functional/page_objects/settings_page.ts
+++ b/test/functional/page_objects/settings_page.ts
@@ -55,15 +55,6 @@ export function SettingsPageProvider({ getService, getPageObjects }: FtrProvider
await testSubjects.click('indexPatterns');
await PageObjects.header.waitUntilLoadingHasFinished();
-
- // check for the index pattern info flyout that covers the
- // create index pattern button on smaller screens
- // @ts-ignore
- await retry.waitFor('index pattern info flyout', async () => {
- if (await testSubjects.exists('CreateIndexPatternPrompt')) {
- await testSubjects.click('CreateIndexPatternPrompt > euiFlyoutCloseButton');
- } else return true;
- });
}
async getAdvancedSettings(propertyName: string) {
@@ -311,9 +302,7 @@ export function SettingsPageProvider({ getService, getPageObjects }: FtrProvider
}
async isIndexPatternListEmpty() {
- await testSubjects.existOrFail('indexPatternTable', { timeout: 5000 });
- const indexPatternList = await this.getIndexPatternList();
- return indexPatternList.length === 0;
+ return !(await testSubjects.exists('indexPatternTable', { timeout: 5000 }));
}
async removeLogstashIndexPatternIfExist() {
diff --git a/x-pack/package.json b/x-pack/package.json
index b426e790c2d4..2b52646e0f74 100644
--- a/x-pack/package.json
+++ b/x-pack/package.json
@@ -255,8 +255,8 @@
"cronstrue": "^1.51.0",
"cytoscape": "^3.10.0",
"d3": "3.5.17",
- "d3-scale": "1.0.7",
"d3-array": "1.2.4",
+ "d3-scale": "1.0.7",
"dedent": "^0.7.0",
"del": "^5.1.0",
"dragselect": "1.13.1",
@@ -267,7 +267,7 @@
"font-awesome": "4.7.0",
"formsy-react": "^1.1.5",
"fp-ts": "^2.3.1",
- "get-port": "4.2.0",
+ "get-port": "^4.2.0",
"getos": "^3.1.0",
"git-url-parse": "11.1.2",
"github-markdown-css": "^2.10.0",
diff --git a/x-pack/plugins/ml/kibana.json b/x-pack/plugins/ml/kibana.json
index c61db9fb1ad8..7b4ea5458f4a 100644
--- a/x-pack/plugins/ml/kibana.json
+++ b/x-pack/plugins/ml/kibana.json
@@ -16,7 +16,8 @@
"share",
"embeddable",
"uiActions",
- "kibanaLegacy"
+ "kibanaLegacy",
+ "indexPatternManagement"
],
"optionalPlugins": [
"security",
diff --git a/x-pack/plugins/ml/public/application/app.tsx b/x-pack/plugins/ml/public/application/app.tsx
index 42c462fa9d86..c281dc4e9ae0 100644
--- a/x-pack/plugins/ml/public/application/app.tsx
+++ b/x-pack/plugins/ml/public/application/app.tsx
@@ -21,7 +21,8 @@ import { MlRouter } from './routing';
import { mlApiServicesProvider } from './services/ml_api_service';
import { HttpService } from './services/http_service';
-export type MlDependencies = Omit & MlStartDependencies;
+export type MlDependencies = Omit &
+ MlStartDependencies;
interface AppProps {
coreStart: CoreStart;
diff --git a/x-pack/plugins/ml/public/plugin.ts b/x-pack/plugins/ml/public/plugin.ts
index aa6163379f9c..ff59d46de758 100644
--- a/x-pack/plugins/ml/public/plugin.ts
+++ b/x-pack/plugins/ml/public/plugin.ts
@@ -20,8 +20,10 @@ import { UsageCollectionSetup } from 'src/plugins/usage_collection/server';
import { DataPublicPluginStart } from 'src/plugins/data/public';
import { HomePublicPluginSetup } from 'src/plugins/home/public';
+import { IndexPatternManagementSetup } from 'src/plugins/index_pattern_management/public';
import { EmbeddableSetup } from 'src/plugins/embeddable/public';
import { AppStatus, AppUpdater, DEFAULT_APP_CATEGORIES } from '../../../../src/core/public';
+import { MlCardState } from '../../../../src/plugins/index_pattern_management/public';
import { SecurityPluginSetup } from '../../security/public';
import { LicensingPluginSetup } from '../../licensing/public';
import { registerManagementSection } from './application/management';
@@ -53,6 +55,7 @@ export interface MlSetupDependencies {
uiActions: UiActionsSetup;
kibanaVersion: string;
share: SharePluginSetup;
+ indexPatternManagement: IndexPatternManagementSetup;
}
export type MlCoreSetup = CoreSetup;
@@ -104,11 +107,20 @@ export class MlPlugin implements Plugin {
});
const licensing = pluginsSetup.licensing.license$.pipe(take(1));
- licensing.subscribe((license) => {
+ licensing.subscribe(async (license) => {
+ const [coreStart] = await core.getStartServices();
if (isMlEnabled(license)) {
// add ML to home page
registerFeature(pluginsSetup.home);
+ // register ML for the index pattern management no data screen.
+ pluginsSetup.indexPatternManagement.environment.update({
+ ml: () =>
+ coreStart.application.capabilities.ml.canFindFileStructure
+ ? MlCardState.ENABLED
+ : MlCardState.HIDDEN,
+ });
+
// register various ML plugin features which require a full license
if (isFullLicense(license)) {
registerManagementSection(pluginsSetup.management, core);
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index e5cd46b330ca..55d1953247a9 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -2388,11 +2388,6 @@
"indexPatternManagement.createIndexPattern.description": "インデックスパターンは、{single}または{multiple}データソース、{star}と一致します。",
"indexPatternManagement.createIndexPattern.documentation": "ドキュメンテーションを表示",
"indexPatternManagement.createIndexPattern.emptyState.checkDataButton": "新規データを確認",
- "indexPatternManagement.createIndexPattern.emptyStateHeader": "Elasticsearchデータが見つかりませんでした",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.emptyStateDetail": "{needToIndex} {learnHowLink}または{getStartedLink}",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.getStartedLink": "サンプルデータで始めましょう。",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.learnHowLink": "方法を学習",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.needToIndexLabel": "インデックスパターンを作成する前に、Elasticsearchへのデータのインデックスが必要です。",
"indexPatternManagement.createIndexPattern.includeSystemIndicesToggleSwitchLabel": "システムと非表示のインデックスを含める",
"indexPatternManagement.createIndexPattern.loadClustersFailMsg": "リモートクラスターの読み込みに失敗",
"indexPatternManagement.createIndexPattern.loadIndicesFailMsg": "インデックスの読み込みに失敗",
@@ -2403,7 +2398,6 @@
"indexPatternManagement.createIndexPattern.step.indexPatternPlaceholder": "index-name-*",
"indexPatternManagement.createIndexPattern.step.invalidCharactersErrorMessage": "{indexPatternName}にはスペースや{characterList}は使えません。",
"indexPatternManagement.createIndexPattern.step.loadingHeader": "一致するインデックスを検索中…",
- "indexPatternManagement.createIndexPattern.step.loadingLabel": "お待ちください…",
"indexPatternManagement.createIndexPattern.step.nextStepButton": "次のステップ",
"indexPatternManagement.createIndexPattern.step.pagingLabel": "ページごとの行数: {perPage}",
"indexPatternManagement.createIndexPattern.step.status.matchAnyLabel.matchAnyDetail": "インデックスパターンは、{sourceCount, plural, one {個のソース} other {個のソース} }と一致します。",
@@ -2553,15 +2547,6 @@
"indexPatternManagement.indexPattern.sectionsHeader": "インデックスパターン",
"indexPatternManagement.indexPattern.titleExistsLabel": "「{title}」というタイトルのインデックスパターンがすでに存在します。",
"indexPatternManagement.indexPatternList.createButton.betaLabel": "ベータ",
- "indexPatternManagement.indexPatternPrompt.exampleOne": "チャートを作成したりコンテンツを素早くクエリできるように log-west-001 という名前の単一のデータソースをインデックスします。",
- "indexPatternManagement.indexPatternPrompt.exampleOneTitle": "単一のデータソース",
- "indexPatternManagement.indexPatternPrompt.examplesTitle": "インデックスパターンの例",
- "indexPatternManagement.indexPatternPrompt.exampleThree": "比較目的に履歴の動向を集約できるよう、これらのログのアーカイブされた月々のロールアップメトリックスを指定どおりに別々のインデックスパターンにグループ分けします。",
- "indexPatternManagement.indexPatternPrompt.exampleThreeTitle": "カスタムグルーピング",
- "indexPatternManagement.indexPatternPrompt.exampleTwo": "すべての西海岸のサーバーログに対してクエリを実行できるように、頭に「log-west」の付いたすべての受信データソースをグループ化します。",
- "indexPatternManagement.indexPatternPrompt.exampleTwoTitle": "複数データソース",
- "indexPatternManagement.indexPatternPrompt.subtitle": "インデックスパターンは、Kibanaで共有フィールドにクエリを実行できるよう、種類の異なるデータソースをバケットにまとめることができます。",
- "indexPatternManagement.indexPatternPrompt.title": "インデックスパターンについて",
"indexPatternManagement.indexPatterns.badge.readOnly.text": "読み取り専用",
"indexPatternManagement.indexPatterns.badge.readOnly.tooltip": "インデックスパターンを保存できません",
"indexPatternManagement.indexPatterns.createBreadcrumb": "インデックスパターンを作成",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index b273f6cc81ba..40f4c9c5897d 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -2389,11 +2389,6 @@
"indexPatternManagement.createIndexPattern.description": "索引模式可以匹配单个源,例如 {single} 或 {multiple} 个数据源、{star}。",
"indexPatternManagement.createIndexPattern.documentation": "阅读文档",
"indexPatternManagement.createIndexPattern.emptyState.checkDataButton": "检查新数据",
- "indexPatternManagement.createIndexPattern.emptyStateHeader": "找不到任何 Elasticsearch 数据",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.emptyStateDetail": "{needToIndex}{learnHowLink}或{getStartedLink}",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.getStartedLink": "开始使用一些样例数据集。",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.learnHowLink": "了解操作方法",
- "indexPatternManagement.createIndexPattern.emptyStateLabel.needToIndexLabel": "您需要在 Elasticsearch 中索引一些数据后,才能创建索引模式。",
"indexPatternManagement.createIndexPattern.includeSystemIndicesToggleSwitchLabel": "包括系统和隐藏索引",
"indexPatternManagement.createIndexPattern.loadClustersFailMsg": "无法加载远程集群",
"indexPatternManagement.createIndexPattern.loadIndicesFailMsg": "无法加载索引",
@@ -2404,7 +2399,6 @@
"indexPatternManagement.createIndexPattern.step.indexPatternPlaceholder": "index-name-*",
"indexPatternManagement.createIndexPattern.step.invalidCharactersErrorMessage": "{indexPatternName} 不能包含空格或字符:{characterList}",
"indexPatternManagement.createIndexPattern.step.loadingHeader": "正在寻找匹配的索引......",
- "indexPatternManagement.createIndexPattern.step.loadingLabel": "请稍候......",
"indexPatternManagement.createIndexPattern.step.nextStepButton": "下一步",
"indexPatternManagement.createIndexPattern.step.pagingLabel": "每页行数:{perPage}",
"indexPatternManagement.createIndexPattern.step.status.matchAnyLabel.matchAnyDetail": "您的索引模式可以匹配{sourceCount, plural, one {您的 # 个源} other {您的 # 个源中的任何一个} }。",
@@ -2554,15 +2548,6 @@
"indexPatternManagement.indexPattern.sectionsHeader": "索引模式",
"indexPatternManagement.indexPattern.titleExistsLabel": "具有标题“{title}”的索引模式已存在。",
"indexPatternManagement.indexPatternList.createButton.betaLabel": "公测版",
- "indexPatternManagement.indexPatternPrompt.exampleOne": "索引单个称作 log-west-001 的数据源,以便可以快速地构建图表或查询其内容。",
- "indexPatternManagement.indexPatternPrompt.exampleOneTitle": "单数据源",
- "indexPatternManagement.indexPatternPrompt.examplesTitle": "索引模式示例",
- "indexPatternManagement.indexPatternPrompt.exampleThree": "具体而言,将这些日志每月存档的汇总/打包指标分组成不同的索引模式,从而可以聚合历史趋势以进行比较。",
- "indexPatternManagement.indexPatternPrompt.exampleThreeTitle": "定制分组",
- "indexPatternManagement.indexPatternPrompt.exampleTwo": "分组以 log-west* 开头的所有传入数据源,以便可以查询所有西海岸服务器日志。",
- "indexPatternManagement.indexPatternPrompt.exampleTwoTitle": "多数据源",
- "indexPatternManagement.indexPatternPrompt.subtitle": "索引模式允许您将异类的数据源一起装入存储桶,从而可以在 Kibana 中查询它们共享的字段。",
- "indexPatternManagement.indexPatternPrompt.title": "关于索引模式",
"indexPatternManagement.indexPatterns.badge.readOnly.text": "只读",
"indexPatternManagement.indexPatterns.badge.readOnly.tooltip": "无法保存索引模式",
"indexPatternManagement.indexPatterns.createBreadcrumb": "创建索引模式",
diff --git a/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/slack.ts b/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/slack.ts
index 90660cc99507..91511b508aca 100644
--- a/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/slack.ts
+++ b/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/slack.ts
@@ -4,26 +4,25 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import http from 'http';
+import getPort from 'get-port';
import { FtrProviderContext } from '../../../../common/ftr_provider_context';
-import {
- getExternalServiceSimulatorPath,
- ExternalServiceSimulator,
-} from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
+import { getSlackServer } from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
// eslint-disable-next-line import/no-default-export
export default function slackTest({ getService }: FtrProviderContext) {
const supertest = getService('supertest');
- const kibanaServer = getService('kibanaServer');
describe('slack action', () => {
- let slackSimulatorURL: string = '';
+ let slackSimulatorURL: string = '';
+ let slackServer: http.Server;
- // need to wait for kibanaServer to settle ...
- before(() => {
- slackSimulatorURL = kibanaServer.resolveUrl(
- getExternalServiceSimulatorPath(ExternalServiceSimulator.SLACK)
- );
+ before(async () => {
+ slackServer = await getSlackServer();
+ const availablePort = await getPort({ port: 9000 });
+ slackServer.listen(availablePort);
+ slackSimulatorURL = `http://localhost:${availablePort}`;
});
it('should return 403 when creating a slack action', async () => {
@@ -44,5 +43,9 @@ export default function slackTest({ getService }: FtrProviderContext) {
'Action type .slack is disabled because your basic license does not support it. Please upgrade your license.',
});
});
+
+ after(() => {
+ slackServer.close();
+ });
});
}
diff --git a/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/webhook.ts b/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/webhook.ts
index af1d413ff3c4..039f1d4dd327 100644
--- a/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/webhook.ts
+++ b/x-pack/test/alerting_api_integration/basic/tests/actions/builtin_action_types/webhook.ts
@@ -4,25 +4,24 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import http from 'http';
+import getPort from 'get-port';
import { FtrProviderContext } from '../../../../common/ftr_provider_context';
-import {
- getExternalServiceSimulatorPath,
- ExternalServiceSimulator,
-} from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
+import { getWebhookServer } from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
// eslint-disable-next-line import/no-default-export
export default function webhookTest({ getService }: FtrProviderContext) {
const supertest = getService('supertest');
- const kibanaServer = getService('kibanaServer');
describe('webhook action', () => {
- let webhookSimulatorURL: string = '';
-
+ let webhookSimulatorURL: string = '';
+ let webhookServer: http.Server;
// need to wait for kibanaServer to settle ...
- before(() => {
- webhookSimulatorURL = kibanaServer.resolveUrl(
- getExternalServiceSimulatorPath(ExternalServiceSimulator.WEBHOOK)
- );
+ before(async () => {
+ webhookServer = await getWebhookServer();
+ const availablePort = await getPort({ port: 9000 });
+ webhookServer.listen(availablePort);
+ webhookSimulatorURL = `http://localhost:${availablePort}`;
});
it('should return 403 when creating a webhook action', async () => {
@@ -47,5 +46,9 @@ export default function webhookTest({ getService }: FtrProviderContext) {
'Action type .webhook is disabled because your basic license does not support it. Please upgrade your license.',
});
});
+
+ after(() => {
+ webhookServer.close();
+ });
});
}
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/plugin.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/plugin.ts
index cb1271494c29..0f7acf5ead1a 100644
--- a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/plugin.ts
+++ b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/plugin.ts
@@ -4,6 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import http from 'http';
import { Plugin, CoreSetup, IRouter } from 'kibana/server';
import { EncryptedSavedObjectsPluginStart } from '../../../../../../../plugins/encrypted_saved_objects/server';
import { PluginSetupContract as FeaturesPluginSetup } from '../../../../../../../plugins/features/server';
@@ -13,6 +14,8 @@ import { initPlugin as initPagerduty } from './pagerduty_simulation';
import { initPlugin as initServiceNow } from './servicenow_simulation';
import { initPlugin as initJira } from './jira_simulation';
import { initPlugin as initResilient } from './resilient_simulation';
+import { initPlugin as initSlack } from './slack_simulation';
+import { initPlugin as initWebhook } from './webhook_simulation';
export const NAME = 'actions-FTS-external-service-simulators';
@@ -39,6 +42,14 @@ export function getAllExternalServiceSimulatorPaths(): string[] {
return allPaths;
}
+export async function getWebhookServer(): Promise {
+ return await initWebhook();
+}
+
+export async function getSlackServer(): Promise {
+ return await initSlack();
+}
+
interface FixtureSetupDeps {
actions: ActionsPluginSetupContract;
features: FeaturesPluginSetup;
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/slack_simulation.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/slack_simulation.ts
new file mode 100644
index 000000000000..5032112e702e
--- /dev/null
+++ b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/slack_simulation.ts
@@ -0,0 +1,69 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License;
+ * you may not use this file except in compliance with the Elastic License.
+ */
+
+import http from 'http';
+
+export async function initPlugin() {
+ return http.createServer((request, response) => {
+ if (request.method === 'POST') {
+ let data = '';
+ request.on('data', (chunk) => {
+ data += chunk;
+ });
+ request.on('end', () => {
+ const body = JSON.parse(data);
+ const text = body && body.text;
+
+ if (text == null) {
+ response.statusCode = 400;
+ response.end('bad request to slack simulator');
+ return;
+ }
+
+ switch (text) {
+ case 'success': {
+ response.statusCode = 200;
+ response.end('ok');
+ return;
+ }
+ case 'no_text':
+ response.statusCode = 400;
+ response.end('no_text');
+ return;
+
+ case 'invalid_payload':
+ response.statusCode = 400;
+ response.end('invalid_payload');
+ return;
+
+ case 'invalid_token':
+ response.statusCode = 403;
+ response.end('invalid_token');
+ return;
+
+ case 'status_500':
+ response.statusCode = 500;
+ response.end('simulated slack 500 response');
+ return;
+
+ case 'rate_limit':
+ const res = {
+ retry_after: 1,
+ ok: false,
+ error: 'rate_limited',
+ };
+
+ response.writeHead(429, { 'Content-Type': 'application/json', 'Retry-After': '1' });
+ response.write(JSON.stringify(res));
+ response.end();
+ return;
+ }
+ response.statusCode = 400;
+ response.end('unknown request to slack simulator');
+ });
+ }
+ });
+}
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/webhook_simulation.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/webhook_simulation.ts
new file mode 100644
index 000000000000..44d8ea0c2da2
--- /dev/null
+++ b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators/server/webhook_simulation.ts
@@ -0,0 +1,88 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License;
+ * you may not use this file except in compliance with the Elastic License.
+ */
+import expect from '@kbn/expect';
+import http from 'http';
+import { fromNullable, map, filter, getOrElse } from 'fp-ts/lib/Option';
+import { pipe } from 'fp-ts/lib/pipeable';
+import { constant } from 'fp-ts/lib/function';
+
+export async function initPlugin() {
+ return http.createServer((request, response) => {
+ const credentials = pipe(
+ fromNullable(request.headers.authorization),
+ map((authorization) => authorization.split(/\s+/)),
+ filter((parts) => parts.length > 1),
+ map((parts) => Buffer.from(parts[1], 'base64').toString()),
+ filter((credentialsPart) => credentialsPart.indexOf(':') !== -1),
+ map((credentialsPart) => {
+ const [username, password] = credentialsPart.split(':');
+ return { username, password };
+ }),
+ getOrElse(constant({ username: '', password: '' }))
+ );
+
+ if (request.method === 'POST' || request.method === 'PUT') {
+ let data = '';
+ request.on('data', (chunk) => {
+ data += chunk;
+ });
+ request.on('end', () => {
+ switch (data) {
+ case 'success':
+ response.statusCode = 200;
+ response.end('OK');
+ return;
+ case 'authenticate':
+ return validateAuthentication(credentials, response);
+ case 'success_post_method':
+ return validateRequestUsesMethod(request.method ?? '', 'post', response);
+ case 'success_put_method':
+ return validateRequestUsesMethod(request.method ?? '', 'put', response);
+ case 'failure':
+ response.statusCode = 500;
+ response.end('Error');
+ return;
+ }
+ response.statusCode = 400;
+ response.end(
+ `unknown request to webhook simulator [${data ? `content: ${data}` : `no content`}]`
+ );
+ return;
+ });
+ } else {
+ request.on('end', () => {
+ response.statusCode = 400;
+ response.end('unknown request to webhook simulator [no content]');
+ return;
+ });
+ }
+ });
+}
+
+function validateAuthentication(credentials: any, res: any) {
+ try {
+ expect(credentials).to.eql({
+ username: 'elastic',
+ password: 'changeme',
+ });
+ res.statusCode = 200;
+ res.end('OK');
+ } catch (ex) {
+ res.statusCode = 403;
+ res.end(`the validateAuthentication operation failed. ${ex.message}`);
+ }
+}
+
+function validateRequestUsesMethod(requestMethod: string, method: string, res: any) {
+ try {
+ expect(requestMethod.toLowerCase()).to.eql(method);
+ res.statusCode = 200;
+ res.end('OK');
+ } catch (ex) {
+ res.statusCode = 403;
+ res.end(`the validateAuthentication operation failed. ${ex.message}`);
+ }
+}
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/index.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/index.ts
deleted file mode 100644
index 43e6a7367355..000000000000
--- a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/index.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-import Hapi from 'hapi';
-import {
- getExternalServiceSimulatorPath,
- NAME,
- ExternalServiceSimulator,
-} from '../actions_simulators/server/plugin';
-
-import { initPlugin as initWebhook } from './webhook_simulation';
-import { initPlugin as initSlack } from './slack_simulation';
-
-// eslint-disable-next-line import/no-default-export
-export default function (kibana: any) {
- return new kibana.Plugin({
- require: ['xpack_main'],
- name: `${NAME}-legacy`,
- init: (server: Hapi.Server) => {
- initWebhook(server, getExternalServiceSimulatorPath(ExternalServiceSimulator.WEBHOOK));
- initSlack(server, getExternalServiceSimulatorPath(ExternalServiceSimulator.SLACK));
- },
- });
-}
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/package.json b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/package.json
deleted file mode 100644
index 644cd77d3be7..000000000000
--- a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/package.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "actions-fixtures-legacy",
- "version": "0.0.0",
- "kibana": {
- "version": "kibana"
- }
-}
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/slack_simulation.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/slack_simulation.ts
deleted file mode 100644
index b914386b136c..000000000000
--- a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/slack_simulation.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-import Joi from 'joi';
-import Hapi from 'hapi';
-
-interface SlackRequest extends Hapi.Request {
- payload: {
- text: string;
- };
-}
-export function initPlugin(server: Hapi.Server, path: string) {
- server.route({
- method: 'POST',
- path,
- options: {
- auth: false,
- validate: {
- options: { abortEarly: false },
- payload: Joi.object().keys({
- text: Joi.string(),
- }),
- },
- },
- handler: slackHandler as Hapi.Lifecycle.Method,
- });
-}
-// Slack simulator: create a slack action pointing here, and you can get
-// different responses based on the message posted. See the README.md for
-// more info.
-
-function slackHandler(request: SlackRequest, h: any) {
- const body = request.payload;
- const text = body && body.text;
-
- if (text == null) {
- return htmlResponse(h, 400, 'bad request to slack simulator');
- }
-
- switch (text) {
- case 'success':
- return htmlResponse(h, 200, 'ok');
-
- case 'no_text':
- return htmlResponse(h, 400, 'no_text');
-
- case 'invalid_payload':
- return htmlResponse(h, 400, 'invalid_payload');
-
- case 'invalid_token':
- return htmlResponse(h, 403, 'invalid_token');
-
- case 'status_500':
- return htmlResponse(h, 500, 'simulated slack 500 response');
-
- case 'rate_limit':
- const response = {
- retry_after: 1,
- ok: false,
- error: 'rate_limited',
- };
-
- return h.response(response).type('application/json').header('retry-after', '1').code(429);
- }
-
- return htmlResponse(h, 400, 'unknown request to slack simulator');
-}
-
-function htmlResponse(h: any, code: number, text: string) {
- return h.response(text).type('text/html').code(code);
-}
diff --git a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/webhook_simulation.ts b/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/webhook_simulation.ts
deleted file mode 100644
index 44e1aff162c9..000000000000
--- a/x-pack/test/alerting_api_integration/common/fixtures/plugins/actions_simulators_legacy/webhook_simulation.ts
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-import expect from '@kbn/expect';
-import Joi from 'joi';
-import Hapi, { Util } from 'hapi';
-import { fromNullable, map, filter, getOrElse } from 'fp-ts/lib/Option';
-import { pipe } from 'fp-ts/lib/pipeable';
-import { constant } from 'fp-ts/lib/function';
-
-interface WebhookRequest extends Hapi.Request {
- payload: string;
-}
-
-export async function initPlugin(server: Hapi.Server, path: string) {
- server.auth.scheme('identifyCredentialsIfPresent', function identifyCredentialsIfPresent(
- s: Hapi.Server,
- options?: Hapi.ServerAuthSchemeOptions
- ) {
- const scheme = {
- async authenticate(request: Hapi.Request, h: Hapi.ResponseToolkit) {
- const credentials = pipe(
- fromNullable(request.headers.authorization),
- map((authorization) => authorization.split(/\s+/)),
- filter((parts) => parts.length > 1),
- map((parts) => Buffer.from(parts[1], 'base64').toString()),
- filter((credentialsPart) => credentialsPart.indexOf(':') !== -1),
- map((credentialsPart) => {
- const [username, password] = credentialsPart.split(':');
- return { username, password };
- }),
- getOrElse(constant({ username: '', password: '' }))
- );
-
- return h.authenticated({ credentials });
- },
- };
-
- return scheme;
- });
- server.auth.strategy('simple', 'identifyCredentialsIfPresent');
-
- server.route({
- method: ['POST', 'PUT'],
- path,
- options: {
- auth: 'simple',
- validate: {
- options: { abortEarly: false },
- payload: Joi.string(),
- },
- },
- handler: webhookHandler as Hapi.Lifecycle.Method,
- });
-}
-
-function webhookHandler(request: WebhookRequest, h: any) {
- const body = request.payload;
-
- switch (body) {
- case 'success':
- return htmlResponse(h, 200, `OK`);
- case 'authenticate':
- return validateAuthentication(request, h);
- case 'success_post_method':
- return validateRequestUsesMethod(request, h, 'post');
- case 'success_put_method':
- return validateRequestUsesMethod(request, h, 'put');
- case 'failure':
- return htmlResponse(h, 500, `Error`);
- }
-
- return htmlResponse(
- h,
- 400,
- `unknown request to webhook simulator [${body ? `content: ${body}` : `no content`}]`
- );
-}
-
-function validateAuthentication(request: WebhookRequest, h: any) {
- const {
- auth: { credentials },
- } = request;
- try {
- expect(credentials).to.eql({
- username: 'elastic',
- password: 'changeme',
- });
- return htmlResponse(h, 200, `OK`);
- } catch (ex) {
- return htmlResponse(h, 403, `the validateAuthentication operation failed. ${ex.message}`);
- }
-}
-
-function validateRequestUsesMethod(
- request: WebhookRequest,
- h: any,
- method: Util.HTTP_METHODS_PARTIAL
-) {
- try {
- expect(request.method).to.eql(method);
- return htmlResponse(h, 200, `OK`);
- } catch (ex) {
- return htmlResponse(h, 403, `the validateAuthentication operation failed. ${ex.message}`);
- }
-}
-
-function htmlResponse(h: any, code: number, text: string) {
- return h.response(text).type('text/html').code(code);
-}
diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/slack.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/slack.ts
index f21bc8edeef1..c68bcaa0ad4e 100644
--- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/slack.ts
+++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/slack.ts
@@ -5,28 +5,27 @@
*/
import expect from '@kbn/expect';
-
+import http from 'http';
+import getPort from 'get-port';
import { FtrProviderContext } from '../../../../common/ftr_provider_context';
-import {
- getExternalServiceSimulatorPath,
- ExternalServiceSimulator,
-} from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
+import { getSlackServer } from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
// eslint-disable-next-line import/no-default-export
export default function slackTest({ getService }: FtrProviderContext) {
const supertest = getService('supertest');
- const kibanaServer = getService('kibanaServer');
describe('slack action', () => {
let simulatedActionId = '';
- let slackSimulatorURL: string = '';
+ let slackSimulatorURL: string = '';
+ let slackServer: http.Server;
// need to wait for kibanaServer to settle ...
- before(() => {
- slackSimulatorURL = kibanaServer.resolveUrl(
- getExternalServiceSimulatorPath(ExternalServiceSimulator.SLACK)
- );
+ before(async () => {
+ slackServer = await getSlackServer();
+ const availablePort = await getPort({ port: 9000 });
+ slackServer.listen(availablePort);
+ slackSimulatorURL = `http://localhost:${availablePort}`;
});
it('should return 200 when creating a slack action successfully', async () => {
@@ -220,5 +219,9 @@ export default function slackTest({ getService }: FtrProviderContext) {
expect(result.message).to.match(/error posting a slack message, retry later/);
expect(result.retry).to.equal(true);
});
+
+ after(() => {
+ slackServer.close();
+ });
});
}
diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/webhook.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/webhook.ts
index 7eba753d7e98..8f17ab54184b 100644
--- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/webhook.ts
+++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/builtin_action_types/webhook.ts
@@ -4,12 +4,15 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import http from 'http';
+import getPort from 'get-port';
import expect from '@kbn/expect';
import { URL, format as formatUrl } from 'url';
import { FtrProviderContext } from '../../../../common/ftr_provider_context';
import {
getExternalServiceSimulatorPath,
ExternalServiceSimulator,
+ getWebhookServer,
} from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
const defaultValues: Record = {
@@ -30,11 +33,13 @@ export default function webhookTest({ getService }: FtrProviderContext) {
const kibanaServer = getService('kibanaServer');
async function createWebhookAction(
- urlWithCreds: string,
- config: Record> = {}
+ webhookSimulatorURL: string,
+ config: Record> = {},
+ kibanaUrlWithCreds: string
): Promise {
- const { url: fullUrl, user, password } = extractCredentialsFromUrl(urlWithCreds);
- const url = config.url && typeof config.url === 'object' ? parsePort(config.url) : fullUrl;
+ const { user, password } = extractCredentialsFromUrl(kibanaUrlWithCreds);
+ const url =
+ config.url && typeof config.url === 'object' ? parsePort(config.url) : webhookSimulatorURL;
const composedConfig = {
headers: {
'Content-Type': 'text/plain',
@@ -61,11 +66,17 @@ export default function webhookTest({ getService }: FtrProviderContext) {
}
describe('webhook action', () => {
- let webhookSimulatorURL: string = '';
-
+ let webhookSimulatorURL: string = '';
+ let webhookServer: http.Server;
+ let kibanaURL: string = '';
// need to wait for kibanaServer to settle ...
- before(() => {
- webhookSimulatorURL = kibanaServer.resolveUrl(
+ before(async () => {
+ webhookServer = await getWebhookServer();
+ const availablePort = await getPort({ port: 9000 });
+ webhookServer.listen(availablePort);
+ webhookSimulatorURL = `http://localhost:${availablePort}`;
+
+ kibanaURL = kibanaServer.resolveUrl(
getExternalServiceSimulatorPath(ExternalServiceSimulator.WEBHOOK)
);
});
@@ -117,7 +128,7 @@ export default function webhookTest({ getService }: FtrProviderContext) {
});
it('should send authentication to the webhook target', async () => {
- const webhookActionId = await createWebhookAction(webhookSimulatorURL);
+ const webhookActionId = await createWebhookAction(webhookSimulatorURL, {}, kibanaURL);
const { body: result } = await supertest
.post(`/api/actions/action/${webhookActionId}/_execute`)
.set('kbn-xsrf', 'test')
@@ -132,7 +143,11 @@ export default function webhookTest({ getService }: FtrProviderContext) {
});
it('should support the POST method against webhook target', async () => {
- const webhookActionId = await createWebhookAction(webhookSimulatorURL, { method: 'post' });
+ const webhookActionId = await createWebhookAction(
+ webhookSimulatorURL,
+ { method: 'post' },
+ kibanaURL
+ );
const { body: result } = await supertest
.post(`/api/actions/action/${webhookActionId}/_execute`)
.set('kbn-xsrf', 'test')
@@ -147,7 +162,11 @@ export default function webhookTest({ getService }: FtrProviderContext) {
});
it('should support the PUT method against webhook target', async () => {
- const webhookActionId = await createWebhookAction(webhookSimulatorURL, { method: 'put' });
+ const webhookActionId = await createWebhookAction(
+ webhookSimulatorURL,
+ { method: 'put' },
+ kibanaURL
+ );
const { body: result } = await supertest
.post(`/api/actions/action/${webhookActionId}/_execute`)
.set('kbn-xsrf', 'test')
@@ -183,7 +202,11 @@ export default function webhookTest({ getService }: FtrProviderContext) {
});
it('should handle unreachable webhook targets', async () => {
- const webhookActionId = await createWebhookAction('http://some.non.existent.com/endpoint');
+ const webhookActionId = await createWebhookAction(
+ 'http://some.non.existent.com/endpoint',
+ {},
+ kibanaURL
+ );
const { body: result } = await supertest
.post(`/api/actions/action/${webhookActionId}/_execute`)
.set('kbn-xsrf', 'test')
@@ -199,7 +222,7 @@ export default function webhookTest({ getService }: FtrProviderContext) {
});
it('should handle failing webhook targets', async () => {
- const webhookActionId = await createWebhookAction(webhookSimulatorURL);
+ const webhookActionId = await createWebhookAction(webhookSimulatorURL, {}, kibanaURL);
const { body: result } = await supertest
.post(`/api/actions/action/${webhookActionId}/_execute`)
.set('kbn-xsrf', 'test')
@@ -214,6 +237,10 @@ export default function webhookTest({ getService }: FtrProviderContext) {
expect(result.message).to.match(/error calling webhook, retry later/);
expect(result.serviceMessage).to.eql('[500] Internal Server Error');
});
+
+ after(() => {
+ webhookServer.close();
+ });
});
}
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/webhook.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/webhook.ts
index b3572978cee7..acfbad007d72 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/webhook.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/builtin_action_types/webhook.ts
@@ -4,24 +4,22 @@
* you may not use this file except in compliance with the Elastic License.
*/
+import http from 'http';
+import getPort from 'get-port';
import expect from '@kbn/expect';
import { URL, format as formatUrl } from 'url';
import { FtrProviderContext } from '../../../../common/ftr_provider_context';
-import {
- getExternalServiceSimulatorPath,
- ExternalServiceSimulator,
-} from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
+import { getWebhookServer } from '../../../../common/fixtures/plugins/actions_simulators/server/plugin';
// eslint-disable-next-line import/no-default-export
export default function webhookTest({ getService }: FtrProviderContext) {
const supertest = getService('supertest');
- const kibanaServer = getService('kibanaServer');
async function createWebhookAction(
- urlWithCreds: string,
+ webhookSimulatorURL: string,
config: Record> = {}
): Promise {
- const url = formatUrl(new URL(urlWithCreds), { auth: false });
+ const url = formatUrl(new URL(webhookSimulatorURL), { auth: false });
const composedConfig = {
headers: {
'Content-Type': 'text/plain',
@@ -45,13 +43,13 @@ export default function webhookTest({ getService }: FtrProviderContext) {
}
describe('webhook action', () => {
- let webhookSimulatorURL: string = '';
-
- // need to wait for kibanaServer to settle ...
- before(() => {
- webhookSimulatorURL = kibanaServer.resolveUrl(
- getExternalServiceSimulatorPath(ExternalServiceSimulator.WEBHOOK)
- );
+ let webhookSimulatorURL: string = '';
+ let webhookServer: http.Server;
+ before(async () => {
+ webhookServer = await getWebhookServer();
+ const availablePort = await getPort({ port: 9000 });
+ webhookServer.listen(availablePort);
+ webhookSimulatorURL = `http://localhost:${availablePort}`;
});
it('webhook can be executed without username and password', async () => {
@@ -68,5 +66,9 @@ export default function webhookTest({ getService }: FtrProviderContext) {
expect(result.status).to.eql('ok');
});
+
+ after(() => {
+ webhookServer.close();
+ });
});
}
diff --git a/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts b/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts
index bc36f70df364..cedd96f147c2 100644
--- a/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts
+++ b/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts
@@ -130,7 +130,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
it(`index pattern listing doesn't show create button`, async () => {
await PageObjects.settings.clickKibanaIndexPatterns();
- await testSubjects.existOrFail('indexPatternTable');
+ await testSubjects.existOrFail('emptyIndexPatternPrompt');
await testSubjects.missingOrFail('createIndexPatternButton');
});
diff --git a/yarn.lock b/yarn.lock
index 7731d2f7a8ea..332215a59e78 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -25,14 +25,7 @@
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
- integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
- dependencies:
- "@babel/highlight" "^7.8.3"
-
-"@babel/code-frame@^7.10.4":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
@@ -48,38 +41,7 @@
invariant "^2.2.4"
semver "^5.5.0"
-"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c"
- integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g==
- dependencies:
- browserslist "^4.9.1"
- invariant "^2.2.4"
- semver "^5.5.0"
-
-"@babel/core@^7.0.1", "@babel/core@^7.1.0", "@babel/core@^7.4.3", "@babel/core@^7.7.5":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e"
- integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==
- dependencies:
- "@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.9.0"
- "@babel/helper-module-transforms" "^7.9.0"
- "@babel/helpers" "^7.9.0"
- "@babel/parser" "^7.9.0"
- "@babel/template" "^7.8.6"
- "@babel/traverse" "^7.9.0"
- "@babel/types" "^7.9.0"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.1"
- json5 "^2.1.2"
- lodash "^4.17.13"
- resolve "^1.3.2"
- semver "^5.4.1"
- source-map "^0.5.0"
-
-"@babel/core@^7.11.1":
+"@babel/core@^7.0.1", "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.4.3", "@babel/core@^7.7.5":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643"
integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ==
@@ -101,17 +63,7 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.0.0", "@babel/generator@^7.9.0":
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce"
- integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA==
- dependencies:
- "@babel/types" "^7.9.0"
- jsesc "^2.5.1"
- lodash "^4.17.13"
- source-map "^0.5.0"
-
-"@babel/generator@^7.11.0":
+"@babel/generator@^7.0.0", "@babel/generator@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c"
integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==
@@ -120,24 +72,7 @@
jsesc "^2.5.1"
source-map "^0.5.0"
-"@babel/generator@^7.9.5":
- version "7.9.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9"
- integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==
- dependencies:
- "@babel/types" "^7.9.5"
- jsesc "^2.5.1"
- lodash "^4.17.13"
- source-map "^0.5.0"
-
-"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"
- integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==
- dependencies:
- "@babel/types" "^7.8.3"
-
-"@babel/helper-annotate-as-pure@^7.10.4":
+"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3"
integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
@@ -152,14 +87,6 @@
"@babel/helper-explode-assignable-expression" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503"
- integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.8.3"
- "@babel/types" "^7.8.3"
-
"@babel/helper-builder-react-jsx-experimental@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.5.tgz#f35e956a19955ff08c1258e44a515a6d6248646b"
@@ -169,15 +96,6 @@
"@babel/helper-module-imports" "^7.10.4"
"@babel/types" "^7.10.5"
-"@babel/helper-builder-react-jsx-experimental@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.0.tgz#066d80262ade488f9c1b1823ce5db88a4cedaa43"
- integrity sha512-3xJEiyuYU4Q/Ar9BsHisgdxZsRlsShMe90URZ0e6przL26CCs8NJbDoxH94kKT17PcxlMhsCAwZd90evCo26VQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.8.3"
- "@babel/helper-module-imports" "^7.8.3"
- "@babel/types" "^7.9.0"
-
"@babel/helper-builder-react-jsx@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d"
@@ -186,14 +104,6 @@
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-builder-react-jsx@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32"
- integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.8.3"
- "@babel/types" "^7.9.0"
-
"@babel/helper-compilation-targets@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
@@ -205,17 +115,6 @@
levenary "^1.1.1"
semver "^5.5.0"
-"@babel/helper-compilation-targets@^7.8.7":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde"
- integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==
- dependencies:
- "@babel/compat-data" "^7.8.6"
- browserslist "^4.9.1"
- invariant "^2.2.4"
- levenary "^1.1.1"
- semver "^5.5.0"
-
"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d"
@@ -228,18 +127,6 @@
"@babel/helper-replace-supers" "^7.10.4"
"@babel/helper-split-export-declaration" "^7.10.4"
-"@babel/helper-create-class-features-plugin@^7.8.3":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz#243a5b46e2f8f0f674dc1387631eb6b28b851de0"
- integrity sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg==
- dependencies:
- "@babel/helper-function-name" "^7.8.3"
- "@babel/helper-member-expression-to-functions" "^7.8.3"
- "@babel/helper-optimise-call-expression" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-replace-supers" "^7.8.6"
- "@babel/helper-split-export-declaration" "^7.8.3"
-
"@babel/helper-create-regexp-features-plugin@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
@@ -249,15 +136,6 @@
"@babel/helper-regex" "^7.10.4"
regexpu-core "^4.7.0"
-"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087"
- integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.8.3"
- "@babel/helper-regex" "^7.8.3"
- regexpu-core "^4.7.0"
-
"@babel/helper-define-map@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
@@ -267,15 +145,6 @@
"@babel/types" "^7.10.5"
lodash "^4.17.19"
-"@babel/helper-define-map@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15"
- integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==
- dependencies:
- "@babel/helper-function-name" "^7.8.3"
- "@babel/types" "^7.8.3"
- lodash "^4.17.13"
-
"@babel/helper-explode-assignable-expression@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
@@ -284,14 +153,6 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-explode-assignable-expression@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982"
- integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==
- dependencies:
- "@babel/traverse" "^7.8.3"
- "@babel/types" "^7.8.3"
-
"@babel/helper-function-name@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
@@ -301,24 +162,6 @@
"@babel/template" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-function-name@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca"
- integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==
- dependencies:
- "@babel/helper-get-function-arity" "^7.8.3"
- "@babel/template" "^7.8.3"
- "@babel/types" "^7.8.3"
-
-"@babel/helper-function-name@^7.9.5":
- version "7.9.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
- integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==
- dependencies:
- "@babel/helper-get-function-arity" "^7.8.3"
- "@babel/template" "^7.8.3"
- "@babel/types" "^7.9.5"
-
"@babel/helper-get-function-arity@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2"
@@ -326,13 +169,6 @@
dependencies:
"@babel/types" "^7.10.4"
-"@babel/helper-get-function-arity@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
- integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
- dependencies:
- "@babel/types" "^7.8.3"
-
"@babel/helper-hoist-variables@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
@@ -340,13 +176,6 @@
dependencies:
"@babel/types" "^7.10.4"
-"@babel/helper-hoist-variables@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134"
- integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==
- dependencies:
- "@babel/types" "^7.8.3"
-
"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
@@ -354,21 +183,7 @@
dependencies:
"@babel/types" "^7.11.0"
-"@babel/helper-member-expression-to-functions@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c"
- integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==
- dependencies:
- "@babel/types" "^7.8.3"
-
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
- integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
- dependencies:
- "@babel/types" "^7.8.3"
-
-"@babel/helper-module-imports@^7.10.4":
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
@@ -388,19 +203,6 @@
"@babel/types" "^7.11.0"
lodash "^4.17.19"
-"@babel/helper-module-transforms@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
- integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==
- dependencies:
- "@babel/helper-module-imports" "^7.8.3"
- "@babel/helper-replace-supers" "^7.8.6"
- "@babel/helper-simple-access" "^7.8.3"
- "@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/template" "^7.8.6"
- "@babel/types" "^7.9.0"
- lodash "^4.17.13"
-
"@babel/helper-optimise-call-expression@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
@@ -408,19 +210,7 @@
dependencies:
"@babel/types" "^7.10.4"
-"@babel/helper-optimise-call-expression@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
- integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==
- dependencies:
- "@babel/types" "^7.8.3"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
- integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
-
-"@babel/helper-plugin-utils@^7.10.4":
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
@@ -432,13 +222,6 @@
dependencies:
lodash "^4.17.19"
-"@babel/helper-regex@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965"
- integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==
- dependencies:
- lodash "^4.17.13"
-
"@babel/helper-remap-async-to-generator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
@@ -450,17 +233,6 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-remap-async-to-generator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86"
- integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.8.3"
- "@babel/helper-wrap-function" "^7.8.3"
- "@babel/template" "^7.8.3"
- "@babel/traverse" "^7.8.3"
- "@babel/types" "^7.8.3"
-
"@babel/helper-replace-supers@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
@@ -471,16 +243,6 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8"
- integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.8.3"
- "@babel/helper-optimise-call-expression" "^7.8.3"
- "@babel/traverse" "^7.8.6"
- "@babel/types" "^7.8.6"
-
"@babel/helper-simple-access@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
@@ -489,14 +251,6 @@
"@babel/template" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-simple-access@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
- integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==
- dependencies:
- "@babel/template" "^7.8.3"
- "@babel/types" "^7.8.3"
-
"@babel/helper-skip-transparent-expression-wrappers@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729"
@@ -511,28 +265,11 @@
dependencies:
"@babel/types" "^7.11.0"
-"@babel/helper-split-export-declaration@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
- integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
- dependencies:
- "@babel/types" "^7.8.3"
-
"@babel/helper-validator-identifier@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
-"@babel/helper-validator-identifier@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed"
- integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==
-
-"@babel/helper-validator-identifier@^7.9.5":
- version "7.9.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
- integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
-
"@babel/helper-wrap-function@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
@@ -543,16 +280,6 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-wrap-function@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610"
- integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==
- dependencies:
- "@babel/helper-function-name" "^7.8.3"
- "@babel/template" "^7.8.3"
- "@babel/traverse" "^7.8.3"
- "@babel/types" "^7.8.3"
-
"@babel/helpers@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
@@ -562,25 +289,7 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helpers@^7.9.0":
- version "7.9.2"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f"
- integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==
- dependencies:
- "@babel/template" "^7.8.3"
- "@babel/traverse" "^7.9.0"
- "@babel/types" "^7.9.0"
-
-"@babel/highlight@^7.0.0", "@babel/highlight@^7.8.3":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
- integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==
- dependencies:
- "@babel/helper-validator-identifier" "^7.9.0"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/highlight@^7.10.4":
+"@babel/highlight@^7.0.0", "@babel/highlight@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
@@ -589,15 +298,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.2.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0":
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8"
- integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==
-
-"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.11.2":
- version "7.11.2"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.2.tgz#0882ab8a455df3065ea2dcb4c753b2460a24bead"
- integrity sha512-Vuj/+7vLo6l1Vi7uuO+1ngCDNeVmNbTngcJFKCR/oEtz8tKz0CJxZEGmPt9KcIloZhOZ3Zit6xbpXT2MDlS9Vw==
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.11.2", "@babel/parser@^7.2.0", "@babel/parser@^7.7.5":
+ version "7.11.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9"
+ integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA==
"@babel/plugin-proposal-async-generator-functions@^7.10.4":
version "7.10.5"
@@ -608,16 +312,7 @@
"@babel/helper-remap-async-to-generator" "^7.10.4"
"@babel/plugin-syntax-async-generators" "^7.8.0"
-"@babel/plugin-proposal-async-generator-functions@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f"
- integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-remap-async-to-generator" "^7.8.3"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
-
-"@babel/plugin-proposal-class-properties@^7.10.4":
+"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.7.0":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807"
integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==
@@ -625,14 +320,6 @@
"@babel/helper-create-class-features-plugin" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-proposal-class-properties@^7.7.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e"
- integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-proposal-dynamic-import@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
@@ -641,14 +328,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-dynamic-import" "^7.8.0"
-"@babel/plugin-proposal-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054"
- integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-
"@babel/plugin-proposal-export-namespace-from@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54"
@@ -665,14 +344,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.0"
-"@babel/plugin-proposal-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b"
- integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
-
"@babel/plugin-proposal-logical-assignment-operators@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8"
@@ -689,14 +360,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2"
- integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-
"@babel/plugin-proposal-numeric-separator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
@@ -705,15 +368,7 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-proposal-numeric-separator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8"
- integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.8.3"
-
-"@babel/plugin-proposal-object-rest-spread@^7.11.0":
+"@babel/plugin-proposal-object-rest-spread@^7.11.0", "@babel/plugin-proposal-object-rest-spread@^7.6.2":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af"
integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==
@@ -722,14 +377,6 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.0"
"@babel/plugin-transform-parameters" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@^7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz#a28993699fc13df165995362693962ba6b061d6f"
- integrity sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
-
"@babel/plugin-proposal-optional-catch-binding@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
@@ -738,14 +385,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-"@babel/plugin-proposal-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9"
- integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-
"@babel/plugin-proposal-optional-chaining@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076"
@@ -755,14 +394,6 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
-"@babel/plugin-proposal-optional-chaining@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58"
- integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-
"@babel/plugin-proposal-private-methods@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909"
@@ -771,7 +402,7 @@
"@babel/helper-create-class-features-plugin" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-proposal-unicode-property-regex@^7.10.4":
+"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==
@@ -779,14 +410,6 @@
"@babel/helper-create-regexp-features-plugin" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d"
- integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.8.8"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
@@ -801,20 +424,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.10.4":
+"@babel/plugin-syntax-class-properties@^7.10.4", "@babel/plugin-syntax-class-properties@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c"
integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-class-properties@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7"
- integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
@@ -829,12 +445,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-flow@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz#f2c883bd61a6316f2c89380ae5122f923ba4527f"
- integrity sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==
+"@babel/plugin-syntax-flow@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6"
+ integrity sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3":
version "7.8.3"
@@ -850,27 +466,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-jsx@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
- integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897"
- integrity sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
@@ -878,20 +480,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
+"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f"
- integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
@@ -920,13 +515,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-top-level-await@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391"
- integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-syntax-typescript@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25"
@@ -941,13 +529,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-arrow-functions@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6"
- integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-async-to-generator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
@@ -957,15 +538,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-remap-async-to-generator" "^7.10.4"
-"@babel/plugin-transform-async-to-generator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086"
- integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==
- dependencies:
- "@babel/helper-module-imports" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-remap-async-to-generator" "^7.8.3"
-
"@babel/plugin-transform-block-scoped-functions@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
@@ -973,13 +545,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-block-scoped-functions@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3"
- integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-block-scoping@^7.10.4":
version "7.11.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215"
@@ -987,14 +552,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-block-scoping@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a"
- integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- lodash "^4.17.13"
-
"@babel/plugin-transform-classes@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
@@ -1009,20 +566,6 @@
"@babel/helper-split-export-declaration" "^7.10.4"
globals "^11.1.0"
-"@babel/plugin-transform-classes@^7.9.0":
- version "7.9.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.2.tgz#8603fc3cc449e31fdbdbc257f67717536a11af8d"
- integrity sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.8.3"
- "@babel/helper-define-map" "^7.8.3"
- "@babel/helper-function-name" "^7.8.3"
- "@babel/helper-optimise-call-expression" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-replace-supers" "^7.8.6"
- "@babel/helper-split-export-declaration" "^7.8.3"
- globals "^11.1.0"
-
"@babel/plugin-transform-computed-properties@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
@@ -1030,13 +573,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-computed-properties@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b"
- integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-destructuring@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
@@ -1044,14 +580,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-destructuring@^7.8.3":
- version "7.8.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz#fadb2bc8e90ccaf5658de6f8d4d22ff6272a2f4b"
- integrity sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-transform-dotall-regex@^7.10.4":
+"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==
@@ -1059,14 +588,6 @@
"@babel/helper-create-regexp-features-plugin" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e"
- integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-duplicate-keys@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
@@ -1074,13 +595,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-duplicate-keys@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1"
- integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-exponentiation-operator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
@@ -1089,21 +603,13 @@
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-exponentiation-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7"
- integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-transform-flow-strip-types@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392"
- integrity sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==
+"@babel/plugin-transform-flow-strip-types@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz#c497957f09e86e3df7296271e9eb642876bf7788"
+ integrity sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-flow" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-syntax-flow" "^7.10.4"
"@babel/plugin-transform-for-of@^7.10.4":
version "7.10.4"
@@ -1112,13 +618,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-for-of@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e"
- integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-function-name@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
@@ -1127,14 +626,6 @@
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-function-name@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b"
- integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==
- dependencies:
- "@babel/helper-function-name" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-literals@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
@@ -1142,13 +633,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-literals@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1"
- integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-member-expression-literals@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
@@ -1156,13 +640,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-member-expression-literals@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410"
- integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-modules-amd@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1"
@@ -1172,15 +649,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-amd@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4"
- integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q==
- dependencies:
- "@babel/helper-module-transforms" "^7.9.0"
- "@babel/helper-plugin-utils" "^7.8.3"
- babel-plugin-dynamic-import-node "^2.3.0"
-
"@babel/plugin-transform-modules-commonjs@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
@@ -1191,16 +659,6 @@
"@babel/helper-simple-access" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-commonjs@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940"
- integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g==
- dependencies:
- "@babel/helper-module-transforms" "^7.9.0"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-simple-access" "^7.8.3"
- babel-plugin-dynamic-import-node "^2.3.0"
-
"@babel/plugin-transform-modules-systemjs@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85"
@@ -1211,16 +669,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-systemjs@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90"
- integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ==
- dependencies:
- "@babel/helper-hoist-variables" "^7.8.3"
- "@babel/helper-module-transforms" "^7.9.0"
- "@babel/helper-plugin-utils" "^7.8.3"
- babel-plugin-dynamic-import-node "^2.3.0"
-
"@babel/plugin-transform-modules-umd@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
@@ -1229,14 +677,6 @@
"@babel/helper-module-transforms" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-modules-umd@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697"
- integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.9.0"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
@@ -1244,13 +684,6 @@
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.10.4"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c"
- integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.8.3"
-
"@babel/plugin-transform-new-target@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
@@ -1258,13 +691,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-new-target@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43"
- integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-object-super@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
@@ -1273,14 +699,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-replace-supers" "^7.10.4"
-"@babel/plugin-transform-object-super@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725"
- integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-replace-supers" "^7.8.3"
-
"@babel/plugin-transform-parameters@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
@@ -1289,14 +707,6 @@
"@babel/helper-get-function-arity" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-parameters@^7.8.7":
- version "7.9.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.3.tgz#3028d0cc20ddc733166c6e9c8534559cee09f54a"
- integrity sha512-fzrQFQhp7mIhOzmOtPiKffvCYQSK10NR8t6BBz2yPbeUHb9OLW8RZGtgDRBn8z2hGcwvKDL3vC7ojPTLNxmqEg==
- dependencies:
- "@babel/helper-get-function-arity" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-property-literals@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
@@ -1304,19 +714,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-property-literals@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263"
- integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0", "@babel/plugin-transform-react-constant-elements@^7.6.3":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.9.0.tgz#a75abc936a3819edec42d3386d9f1c93f28d9d9e"
- integrity sha512-wXMXsToAUOxJuBBEHajqKLFWcCkOSLshTI2ChCFFj1zDd7od4IOxiwLCOObNUvOpkxLpjIuaIdBMmNt6ocCPAw==
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.10.4.tgz#0f485260bf1c29012bb973e7e404749eaac12c9e"
+ integrity sha512-cYmQBW1pXrqBte1raMkAulXmi7rjg3VI6ZLg9QIic8Hq7BtYXaWuZSxsr2siOMI6SWwpxjWfnwhTUrd7JlAV7g==
dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-transform-react-display-name@^7.10.4":
version "7.10.4"
@@ -1325,13 +728,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-react-display-name@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5"
- integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-react-jsx-development@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.4.tgz#6ec90f244394604623880e15ebc3c34c356258ba"
@@ -1341,15 +737,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-jsx" "^7.10.4"
-"@babel/plugin-transform-react-jsx-development@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754"
- integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==
- dependencies:
- "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-jsx" "^7.8.3"
-
"@babel/plugin-transform-react-jsx-self@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369"
@@ -1358,14 +745,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-jsx" "^7.10.4"
-"@babel/plugin-transform-react-jsx-self@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b"
- integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-jsx" "^7.8.3"
-
"@babel/plugin-transform-react-jsx-source@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4"
@@ -1374,14 +753,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-jsx" "^7.10.4"
-"@babel/plugin-transform-react-jsx-source@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0"
- integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-jsx" "^7.8.3"
-
"@babel/plugin-transform-react-jsx@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2"
@@ -1392,16 +763,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-jsx" "^7.10.4"
-"@babel/plugin-transform-react-jsx@^7.9.4":
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f"
- integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==
- dependencies:
- "@babel/helper-builder-react-jsx" "^7.9.0"
- "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-syntax-jsx" "^7.8.3"
-
"@babel/plugin-transform-react-pure-annotations@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501"
@@ -1417,13 +778,6 @@
dependencies:
regenerator-transform "^0.14.2"
-"@babel/plugin-transform-regenerator@^7.8.7":
- version "7.8.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8"
- integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==
- dependencies:
- regenerator-transform "^0.14.2"
-
"@babel/plugin-transform-reserved-words@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
@@ -1431,13 +785,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-reserved-words@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5"
- integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-runtime@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz#e27f78eb36f19448636e05c33c90fd9ad9b8bccf"
@@ -1455,13 +802,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-shorthand-properties@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8"
- integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-spread@^7.11.0":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc"
@@ -1470,13 +810,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
-"@babel/plugin-transform-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8"
- integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-sticky-regex@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
@@ -1485,14 +818,6 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-regex" "^7.10.4"
-"@babel/plugin-transform-sticky-regex@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100"
- integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/helper-regex" "^7.8.3"
-
"@babel/plugin-transform-template-literals@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c"
@@ -1501,14 +826,6 @@
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-template-literals@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80"
- integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-typeof-symbol@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
@@ -1516,13 +833,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-typeof-symbol@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412"
- integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
"@babel/plugin-transform-typescript@^7.10.4":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb"
@@ -1547,81 +857,7 @@
"@babel/helper-create-regexp-features-plugin" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-unicode-regex@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad"
- integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/preset-env@^7.0.0", "@babel/preset-env@^7.4.3", "@babel/preset-env@^7.4.5":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8"
- integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==
- dependencies:
- "@babel/compat-data" "^7.9.0"
- "@babel/helper-compilation-targets" "^7.8.7"
- "@babel/helper-module-imports" "^7.8.3"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-proposal-async-generator-functions" "^7.8.3"
- "@babel/plugin-proposal-dynamic-import" "^7.8.3"
- "@babel/plugin-proposal-json-strings" "^7.8.3"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-proposal-numeric-separator" "^7.8.3"
- "@babel/plugin-proposal-object-rest-spread" "^7.9.0"
- "@babel/plugin-proposal-optional-catch-binding" "^7.8.3"
- "@babel/plugin-proposal-optional-chaining" "^7.9.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.8.3"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
- "@babel/plugin-syntax-numeric-separator" "^7.8.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
- "@babel/plugin-syntax-top-level-await" "^7.8.3"
- "@babel/plugin-transform-arrow-functions" "^7.8.3"
- "@babel/plugin-transform-async-to-generator" "^7.8.3"
- "@babel/plugin-transform-block-scoped-functions" "^7.8.3"
- "@babel/plugin-transform-block-scoping" "^7.8.3"
- "@babel/plugin-transform-classes" "^7.9.0"
- "@babel/plugin-transform-computed-properties" "^7.8.3"
- "@babel/plugin-transform-destructuring" "^7.8.3"
- "@babel/plugin-transform-dotall-regex" "^7.8.3"
- "@babel/plugin-transform-duplicate-keys" "^7.8.3"
- "@babel/plugin-transform-exponentiation-operator" "^7.8.3"
- "@babel/plugin-transform-for-of" "^7.9.0"
- "@babel/plugin-transform-function-name" "^7.8.3"
- "@babel/plugin-transform-literals" "^7.8.3"
- "@babel/plugin-transform-member-expression-literals" "^7.8.3"
- "@babel/plugin-transform-modules-amd" "^7.9.0"
- "@babel/plugin-transform-modules-commonjs" "^7.9.0"
- "@babel/plugin-transform-modules-systemjs" "^7.9.0"
- "@babel/plugin-transform-modules-umd" "^7.9.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3"
- "@babel/plugin-transform-new-target" "^7.8.3"
- "@babel/plugin-transform-object-super" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.8.7"
- "@babel/plugin-transform-property-literals" "^7.8.3"
- "@babel/plugin-transform-regenerator" "^7.8.7"
- "@babel/plugin-transform-reserved-words" "^7.8.3"
- "@babel/plugin-transform-shorthand-properties" "^7.8.3"
- "@babel/plugin-transform-spread" "^7.8.3"
- "@babel/plugin-transform-sticky-regex" "^7.8.3"
- "@babel/plugin-transform-template-literals" "^7.8.3"
- "@babel/plugin-transform-typeof-symbol" "^7.8.4"
- "@babel/plugin-transform-unicode-regex" "^7.8.3"
- "@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.9.0"
- browserslist "^4.9.1"
- core-js-compat "^3.6.2"
- invariant "^2.2.2"
- levenary "^1.1.1"
- semver "^5.5.0"
-
-"@babel/preset-env@^7.11.0":
+"@babel/preset-env@^7.0.0", "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.4.3", "@babel/preset-env@^7.4.5":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796"
integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==
@@ -1696,12 +932,12 @@
semver "^5.5.0"
"@babel/preset-flow@^7.0.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.9.0.tgz#fee847c3e090b0b2d9227c1949e4da1d1379280d"
- integrity sha512-88uSmlshIrlmPkNkEcx3UpSZ6b8n0UGBq0/0ZMZCF/uxAW0XIAUuDHBhIOAh0pvweafH4RxOwi/H3rWhtqOYPA==
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f"
+ integrity sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g==
dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-transform-flow-strip-types" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/plugin-transform-flow-strip-types" "^7.10.4"
"@babel/preset-modules@^0.1.3":
version "0.1.3"
@@ -1714,19 +950,7 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/preset-react@^7.0.0":
- version "7.9.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d"
- integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-transform-react-display-name" "^7.8.3"
- "@babel/plugin-transform-react-jsx" "^7.9.4"
- "@babel/plugin-transform-react-jsx-development" "^7.9.0"
- "@babel/plugin-transform-react-jsx-self" "^7.9.0"
- "@babel/plugin-transform-react-jsx-source" "^7.9.0"
-
-"@babel/preset-react@^7.10.4":
+"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf"
integrity sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw==
@@ -1759,9 +983,9 @@
source-map-support "^0.5.16"
"@babel/runtime-corejs2@^7.2.0", "@babel/runtime-corejs2@^7.6.3":
- version "7.9.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.9.2.tgz#f11d074ff99b9b4319b5ecf0501f12202bf2bf4d"
- integrity sha512-ayjSOxuK2GaSDJFCtLgHnYjuMyIpViNujWrZo8GUpN60/n7juzJKK5yOo6RFVb0zdU9ACJFK+MsZrUnj3OmXMw==
+ version "7.11.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.11.2.tgz#700a03945ebad0d31ba6690fc8a6bcc9040faa47"
+ integrity sha512-AC/ciV28adSSpEkBglONBWq4/Lvm6GAZuxIoyVtsnUpZMl0bxLtoChEnYAkP+47KyOCayZanojtflUEUJtR/6Q==
dependencies:
core-js "^2.6.5"
regenerator-runtime "^0.13.4"
@@ -1773,42 +997,19 @@
dependencies:
regenerator-runtime "^0.12.0"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
- version "7.9.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06"
- integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@babel/runtime@^7.11.2":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.11.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.3.1", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.7":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c"
- integrity sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==
- dependencies:
- regenerator-runtime "^0.13.4"
-
"@babel/standalone@^7.4.5":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.10.5.tgz#4ee38dc79fda10a2a0da0897f09e270310151314"
- integrity sha512-PERGHqhQ7H3TrdglvSW4pEHULywMJEdytnzaR0VPF1HN45aS+3FcE62efb90XPKS9TlgrEUkYDvYMt+0m6G0YA==
-
-"@babel/template@^7.0.0", "@babel/template@^7.3.3", "@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
- integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
- dependencies:
- "@babel/code-frame" "^7.8.3"
- "@babel/parser" "^7.8.6"
- "@babel/types" "^7.8.6"
+ version "7.11.3"
+ resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.11.3.tgz#043e6ff3b12226e41ed2013418b9a4c055d9c21e"
+ integrity sha512-rcoT32Hw0faYhmCDR0P84ODKL5kpEdhYPgdzlTKs7+v9oJaVLsGvq0xlkmLRj01F6LrItH3tY9eEoRsPLie4RQ==
-"@babel/template@^7.10.4":
+"@babel/template@^7.0.0", "@babel/template@^7.10.4", "@babel/template@^7.3.3", "@babel/template@^7.7.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
@@ -1817,22 +1018,7 @@
"@babel/parser" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.4.5", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892"
- integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==
- dependencies:
- "@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.9.0"
- "@babel/helper-function-name" "^7.8.3"
- "@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/parser" "^7.9.0"
- "@babel/types" "^7.9.0"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.13"
-
-"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0":
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.4":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==
@@ -1847,31 +1033,7 @@
globals "^11.1.0"
lodash "^4.17.19"
-"@babel/traverse@^7.7.4":
- version "7.9.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2"
- integrity sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==
- dependencies:
- "@babel/code-frame" "^7.8.3"
- "@babel/generator" "^7.9.5"
- "@babel/helper-function-name" "^7.9.5"
- "@babel/helper-split-export-declaration" "^7.8.3"
- "@babel/parser" "^7.9.0"
- "@babel/types" "^7.9.5"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.13"
-
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5"
- integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==
- dependencies:
- "@babel/helper-validator-identifier" "^7.9.0"
- lodash "^4.17.13"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0":
+"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4", "@babel/types@^7.4.0", "@babel/types@^7.4.4":
version "7.11.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
@@ -1880,24 +1042,6 @@
lodash "^4.17.19"
to-fast-properties "^2.0.0"
-"@babel/types@^7.3.3":
- version "7.9.6"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
- integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
- dependencies:
- "@babel/helper-validator-identifier" "^7.9.5"
- lodash "^4.17.13"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.4", "@babel/types@^7.9.5":
- version "7.9.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444"
- integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.9.5"
- lodash "^4.17.13"
- to-fast-properties "^2.0.0"
-
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -7695,13 +6839,6 @@ babel-plugin-add-react-displayname@^0.0.5:
resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5"
integrity sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=
-babel-plugin-dynamic-import-node@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f"
- integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==
- dependencies:
- object.assign "^4.1.0"
-
babel-plugin-dynamic-import-node@^2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
@@ -8653,16 +7790,6 @@ browserslist@^4.8.3:
electron-to-chromium "^1.3.338"
node-releases "^1.1.46"
-browserslist@^4.9.1:
- version "4.11.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.0.tgz#aef4357b10a8abda00f97aac7cd587b2082ba1ad"
- integrity sha512-WqEC7Yr5wUH5sg6ruR++v2SGOQYpyUdYYd4tZoAq1F7y+QXoLoYGXVbxhtaIqWmAJjtNTRjVD3HuJc1OXTel2A==
- dependencies:
- caniuse-lite "^1.0.30001035"
- electron-to-chromium "^1.3.380"
- node-releases "^1.1.52"
- pkg-up "^3.1.0"
-
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -9089,7 +8216,7 @@ can-use-dom@^0.1.0:
resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a"
integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=
-caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001022, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001043:
+caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001022, caniuse-lite@^1.0.30001043:
version "1.0.30001094"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz#0b11d02e1cdc201348dbd8e3e57bd9b6ce82b175"
integrity sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA==
@@ -12470,11 +11597,6 @@ electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.338:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.340.tgz#5d4fe78e984d4211194cf5a52e08069543da146f"
integrity sha512-hRFBAglhcj5iVYH+o8QU0+XId1WGoc0VGowJB1cuJAt3exHGrivZvWeAO5BRgBZqwZtwxjm8a5MQeGoT/Su3ww==
-electron-to-chromium@^1.3.380:
- version "1.3.382"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.382.tgz#cad02da655c33f7a3d6ca7525bd35c17e90f3a8f"
- integrity sha512-gJfxOcgnBlXhfnUUObsq3n3ReU8CT6S8je97HndYRkKsNZMJJ38zO/pI5aqO7L3Myfq+E3pqPyKK/ynyLEQfBA==
-
electron-to-chromium@^1.3.413:
version "1.3.465"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz#d692e5c383317570c2bd82092a24a0308c6ccf29"
@@ -14977,7 +14099,7 @@ get-own-enumerable-property-symbols@^3.0.0:
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==
-get-port@4.2.0:
+get-port@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119"
integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==
@@ -22121,13 +21243,6 @@ node-releases@^1.1.25, node-releases@^1.1.46:
dependencies:
semver "^6.3.0"
-node-releases@^1.1.52:
- version "1.1.52"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.52.tgz#bcffee3e0a758e92e44ecfaecd0a47554b0bcba9"
- integrity sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==
- dependencies:
- semver "^6.3.0"
-
node-releases@^1.1.53:
version "1.1.58"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935"