From a13ac6815e86d4bd2b45a0c9ed434b597603418d Mon Sep 17 00:00:00 2001 From: Shenoy Pratik Date: Fri, 8 Apr 2022 11:15:44 -0700 Subject: [PATCH] updated panel flaky tests Signed-off-by: Shenoy Pratik --- .../.cypress/integration/panels.spec.js | 337 +++++++----- .../.cypress/utils/panel_constants.js | 2 +- dashboards-observability/cypress.json | 1 + dashboards-observability/yarn.lock | 517 +++++++++++++++++- 4 files changed, 714 insertions(+), 143 deletions(-) diff --git a/dashboards-observability/.cypress/integration/panels.spec.js b/dashboards-observability/.cypress/integration/panels.spec.js index 42a9eb871..730dd4040 100644 --- a/dashboards-observability/.cypress/integration/panels.spec.js +++ b/dashboards-observability/.cypress/integration/panels.spec.js @@ -32,7 +32,7 @@ const moveToPanelHome = () => { const moveToTestPanel = () => { moveToPanelHome(); - cy.get('.euiTableCellContent').contains(TEST_PANEL).click(); + cy.get('.euiTableCellContent').contains(TEST_PANEL).trigger('mouseover').click(); cy.wait(delay * 3); cy.get('h1').contains(TEST_PANEL).should('exist'); cy.wait(delay); @@ -43,6 +43,7 @@ describe('Adding sample data and visualization', () => { cy.visit(`${Cypress.env('opensearchDashboards')}/app/home#/tutorial_directory/sampleData`); cy.get('div[data-test-subj="sampleDataSetCardflights"]') .contains(/(Add|View) data/) + .trigger('mouseover') .click(); cy.wait(delay * 3); }); @@ -54,31 +55,43 @@ describe('Creating visualizations', () => { }); it('Create first visualization in event analytics', () => { - cy.get('[id^=autocomplete-textarea]').type(PPL_VISUALIZATIONS[0]); - cy.get('.euiButton__text').contains('Refresh').click(); + cy.get('[id^=autocomplete-textarea]').focus().type(PPL_VISUALIZATIONS[0], { + delay: 50, + }); + cy.get('.euiButton__text').contains('Refresh').trigger('mouseover').click(); cy.wait(delay); supressResizeObserverIssue(); - cy.get('button[id="main-content-vis"]').contains('Visualizations').click(); + cy.get('button[id="main-content-vis"]').contains('Visualizations').trigger('mouseover').click(); cy.wait(delay * 2); - cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').click(); - cy.wait(delay * 2); - cy.get('[data-test-subj="eventExplorer__querySaveName"]').type(PPL_VISUALIZATIONS_NAMES[0]); - cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').click(); + cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').trigger('mouseover').click(); + cy.wait(1000); + cy.get('[data-test-subj="eventExplorer__querySaveName"]') + .focus() + .type(PPL_VISUALIZATIONS_NAMES[0], { + delay: 50, + }); + cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); }); it('Create second visualization in event analytics', () => { - cy.get('[id^=autocomplete-textarea]').type(PPL_VISUALIZATIONS[1]); - cy.get('.euiButton__text').contains('Refresh').click(); + cy.get('[id^=autocomplete-textarea]').focus().type(PPL_VISUALIZATIONS[1], { + delay: 50, + }); + cy.get('.euiButton__text').contains('Refresh').trigger('mouseover').click(); cy.wait(delay); supressResizeObserverIssue(); - cy.get('button[id="main-content-vis"]').contains('Visualizations').click(); - cy.wait(delay); - cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').click(); + cy.get('button[id="main-content-vis"]').contains('Visualizations').trigger('mouseover').click(); cy.wait(delay); - cy.get('[data-test-subj="eventExplorer__querySaveName"]').type(PPL_VISUALIZATIONS_NAMES[1]); - cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').click(); + cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').trigger('mouseover').click(); + cy.wait(1000); + cy.get('[data-test-subj="eventExplorer__querySaveName"]') + .focus() + .type(PPL_VISUALIZATIONS_NAMES[1], { + delay: 50, + }); + cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); }); @@ -90,10 +103,11 @@ describe('Testing panels table', () => { }); it('Displays error toast for invalid panel name', () => { - cy.get('.euiButton__text').contains('Create panel').click(); + cy.get('.euiButton__text').contains('Create panel').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiButton__text') .contains(/^Create$/) + .trigger('mouseover') .click(); cy.wait(delay); @@ -101,11 +115,14 @@ describe('Testing panels table', () => { }); it('Creates a panel and redirects to the panel', () => { - cy.get('.euiButton__text').contains('Create panel').click(); + cy.get('.euiButton__text').contains('Create panel').trigger('mouseover').click(); cy.wait(delay); - cy.get('input.euiFieldText').type(TEST_PANEL); + cy.get('input.euiFieldText').focus().type(TEST_PANEL, { + delay: 50, + }); cy.get('.euiButton__text') .contains(/^Create$/) + .trigger('mouseover') .click(); cy.wait(delay); @@ -113,37 +130,45 @@ describe('Testing panels table', () => { }); it('Duplicates and renames a panel', () => { - cy.get('.euiCheckbox__input[title="Select this row"]').eq(0).click(); + cy.get('.euiCheckbox__input[title="Select this row"]').eq(0).trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Actions').click(); + cy.get('.euiButton__text').contains('Actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Duplicate').click(); + cy.get('.euiContextMenuItem__text').contains('Duplicate').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Duplicate').click(); + cy.get('.euiButton__text').contains('Duplicate').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiCheckbox__input[title="Select this row"]').eq(1).click(); + cy.get('.euiCheckbox__input[title="Select this row"]').eq(1).trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiCheckbox__input[title="Select this row"]').eq(0).click(); + cy.get('.euiCheckbox__input[title="Select this row"]').eq(0).trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Actions').click(); + cy.get('.euiButton__text').contains('Actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Rename').click(); + cy.get('.euiContextMenuItem__text').contains('Rename').trigger('mouseover').click(); cy.wait(delay); - cy.get('input.euiFieldText').type(' (rename)'); - cy.get('.euiButton__text').contains('Rename').click(); + cy.get('input.euiFieldText').focus().type(' (rename)', { + delay: 50, + }); + cy.get('.euiButton__text').contains('Rename').trigger('mouseover').click(); cy.wait(delay); }); it('Searches existing panel', () => { - cy.get('input.euiFieldSearch').type('this panel should not exist'); + cy.get('input.euiFieldSearch').focus().type('this panel should not exist', { + delay: 50, + }); cy.wait(delay); cy.get('.euiTableCellContent__text').contains('No items found').should('exist'); - cy.get('.euiFormControlLayoutClearButton').click(); + cy.get('.euiFormControlLayoutClearButton').trigger('mouseover').click(); cy.wait(delay); - cy.get('input.euiFieldSearch').type(TEST_PANEL + ' (copy) (rename)'); + cy.get('input.euiFieldSearch') + .focus() + .type(TEST_PANEL + ' (copy) (rename)', { + delay: 50, + }); cy.wait(delay); cy.get('a.euiLink') @@ -152,27 +177,32 @@ describe('Testing panels table', () => { }); it('Deletes panels', () => { - cy.get('.euiCheckbox__input[data-test-subj="checkboxSelectAll"]').click(); + cy.get('.euiCheckbox__input[data-test-subj="checkboxSelectAll"]').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Actions').click(); + cy.get('.euiButton__text').contains('Actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Delete').click(); + cy.get('.euiContextMenuItem__text').contains('Delete').trigger('mouseover').click(); cy.wait(delay); cy.get('button.euiButton--danger').should('be.disabled'); - cy.get('input.euiFieldText[placeholder="delete"]').type('delete'); + cy.get('input.euiFieldText[placeholder="delete"]').focus().type('delete', { + delay: 50, + }); cy.get('button.euiButton--danger').should('not.be.disabled'); - cy.get('.euiButton__text').contains('Delete').click(); + cy.get('.euiButton__text').contains('Delete').trigger('mouseover').click(); cy.get('.euiTextAlign').contains('No Operational Panels').should('exist'); // keep a panel for testing - cy.get('.euiButton__text').contains('Create panel').click(); + cy.get('.euiButton__text').contains('Create panel').trigger('mouseover').click(); cy.wait(delay); - cy.get('input.euiFieldText').type(TEST_PANEL); + cy.get('input.euiFieldText').focus().type(TEST_PANEL, { + delay: 50, + }); cy.get('.euiButton__text') .contains(/^Create$/) + .trigger('mouseover') .click(); cy.wait(delay * 2); }); @@ -184,18 +214,27 @@ describe('Testing a panel', () => { }); it('Opens visualization flyout from empty panel', () => { - cy.get('.euiButton').eq(4).contains('Add visualization').click(); + cy.get('.euiButton').eq(4).contains('Add visualization').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Select existing visualization').click(); + cy.get('.euiContextMenuItem__text') + .contains('Select existing visualization') + .trigger('mouseover') + .click(); cy.wait(delay); - cy.get('.euiButton').contains('Cancel').click(); - cy.get('.euiButton').eq(2).contains('Add visualization').click(); + cy.get('.euiButton').contains('Cancel').trigger('mouseover').click(); + cy.get('.euiButton').eq(2).contains('Add visualization').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Select existing visualization').click(); + cy.get('.euiContextMenuItem__text') + .contains('Select existing visualization') + .trigger('mouseover') + .click(); cy.wait(delay); - cy.get('.euiButton').contains('Cancel').click(); - cy.get('.euiButton').contains('Add visualization').first().click(); - cy.get('.euiContextMenuItem__text').contains('Create new visualization').click(); + cy.get('.euiButton').contains('Cancel').trigger('mouseover').click(); + cy.get('.euiButton').contains('Add visualization').first().trigger('mouseover').click(); + cy.get('.euiContextMenuItem__text') + .contains('Create new visualization') + .trigger('mouseover') + .click(); cy.wait(delay); cy.get('.euiBreadcrumb').contains('Explorer').should('exist'); cy.get('.euiCallOut').contains('No results match your search criteria').should('exist'); @@ -203,25 +242,25 @@ describe('Testing a panel', () => { it('Redirects to correct page on breadcrumb click', () => { moveToTestPanel(); - cy.get('.euiBreadcrumb').contains(TEST_PANEL).click(); + cy.get('.euiBreadcrumb').contains(TEST_PANEL).trigger('mouseover').click(); cy.wait(delay); cy.get('.euiTitle').contains(TEST_PANEL).should('exist'); - cy.get('.euiBreadcrumb').contains('Operational panels').click(); + cy.get('.euiBreadcrumb').contains('Operational panels').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiTitle').contains('Operational panels').should('exist'); - cy.get('.euiBreadcrumb').contains('Observability').click(); + cy.get('.euiBreadcrumb').contains('Observability').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiTitle').contains('Event analytics').should('exist'); }); it('Duplicate the open panel', () => { moveToTestPanel(); - cy.get('.euiButton__text').contains('Panel actions').click(); + cy.get('.euiButton__text').contains('Panel actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Duplicate panel').click(); + cy.get('.euiContextMenuItem__text').contains('Duplicate panel').trigger('mouseover').click(); cy.wait(delay); cy.get(`input.euiFieldText[value="${TEST_PANEL} (copy)"]`).should('exist'); - cy.get('.euiButton__text').contains('Duplicate').click(); + cy.get('.euiButton__text').contains('Duplicate').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); cy.get('h1') @@ -231,15 +270,18 @@ describe('Testing a panel', () => { }); it('Rename the open panel', () => { - cy.get('.euiButton__text').contains('Panel actions').click(); + cy.get('.euiButton__text').contains('Panel actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Rename panel').click(); + cy.get('.euiContextMenuItem__text').contains('Rename panel').trigger('mouseover').click(); cy.wait(delay); cy.get(`input.euiFieldText[value="${TEST_PANEL} (copy)"]`) .focus() - .clear() - .type('Renamed Panel'); - cy.get('.euiButton__text').contains('Rename').click(); + .clear({ force: true }) + .focus() + .type('Renamed Panel', { + delay: 200, + }); + cy.get('.euiButton__text').contains('Rename').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); cy.get('h1').contains('Renamed Panel').should('exist'); @@ -248,8 +290,10 @@ describe('Testing a panel', () => { it('Change date filter of the panel', () => { moveToTestPanel(); - cy.get('.euiButtonEmpty[data-test-subj="superDatePickerToggleQuickMenuButton"]').click(); - cy.get('.euiLink').contains('This year').click(); + cy.get('.euiButtonEmpty[data-test-subj="superDatePickerToggleQuickMenuButton"]').click({ + force: true, + }); + cy.get('.euiLink').contains('This year').trigger('mouseover').click(); cy.wait(delay * 2); cy.get('.euiSuperDatePicker__prettyFormat[data-test-subj="superDatePickerShowDatesButton"]') .contains('This year') @@ -258,49 +302,50 @@ describe('Testing a panel', () => { }); it('Add existing visualization #1', () => { - cy.get('.euiButton__text').contains('Add visualization').click(); + cy.get('.euiButton__text').contains('Add visualization').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Select existing visualization').click(); + cy.get('.euiContextMenuItem__text') + .contains('Select existing visualization') + .trigger('mouseover') + .click(); cy.wait(delay); cy.get('select').select(PPL_VISUALIZATIONS_NAMES[0]); - cy.get('button[aria-label="refreshPreview"]').click(); + cy.get('button[aria-label="refreshPreview"]').trigger('mouseover').click(); cy.wait(delay * 2); cy.get('.plot-container').should('exist'); - cy.get('.euiButton__text').contains(new RegExp('^Add$', 'g')).click(); + cy.get('.euiButton__text').contains(new RegExp('^Add$', 'g')).trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); }); it('Add existing visualization #2', () => { - cy.get('.euiButton__text').contains('Add visualization').click(); + cy.get('.euiButton__text').contains('Add visualization').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Select existing visualization').click(); + cy.get('.euiContextMenuItem__text') + .contains('Select existing visualization') + .trigger('mouseover') + .click(); cy.wait(delay); cy.get('select').select(PPL_VISUALIZATIONS_NAMES[1]); - cy.get('button[aria-label="refreshPreview"]').click(); + cy.get('button[aria-label="refreshPreview"]').trigger('mouseover').click(); cy.wait(delay * 2); cy.get('.plot-container').should('exist'); - cy.get('.euiButton__text').contains(new RegExp('^Add$', 'g')).click(); + cy.get('.euiButton__text').contains(new RegExp('^Add$', 'g')).trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); }); it('Add ppl filter to panel', () => { cy.get('[data-test-subj="searchAutocompleteTextArea"]') + .trigger('mouseover') .click() - .wait(1500) - .type('where Carrier ') - .wait(1500) - .type('= ') - .wait(1500) - .type("'OpenSearch-Air'") - .wait(1500) - .type('| where Dest ') - .wait(1500) - .type('= ') - .wait(1500) - .type("'Munich Airport'"); - cy.get('.euiButton__text').contains('Refresh').click(); + .wait(3000) + .focus() + .type(PPL_FILTER, { + delay: 500, + }); + + cy.get('.euiButton__text').contains('Refresh').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('.xtick').should('contain', 'OpenSearch-Air'); cy.get('.xtick').should('contain', 'Munich Airport'); @@ -312,7 +357,7 @@ describe('Testing a panel', () => { }); it('Drag and drop a visualization', () => { - cy.get('.euiButton__text').contains('Edit').click(); + cy.get('.euiButton__text').contains('Edit').trigger('mouseover').click(); cy.wait(delay); cy.get('h5') .contains(PPL_VISUALIZATIONS_NAMES[1]) @@ -320,7 +365,7 @@ describe('Testing a panel', () => { .trigger('mousemove', { clientX: 1100, clientY: 0 }) .trigger('mouseup', { force: true }); cy.wait(delay); - cy.get('.euiButton__text').contains('Save').click(); + cy.get('.euiButton__text').contains('Save').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('div.react-grid-layout>div') .eq(1) @@ -330,7 +375,7 @@ describe('Testing a panel', () => { }); it('Resize a visualization', () => { - cy.get('.euiButton__text').contains('Edit').click(); + cy.get('.euiButton__text').contains('Edit').trigger('mouseover').click(); cy.wait(delay); cy.get('.react-resizable-handle') .eq(1) @@ -338,7 +383,7 @@ describe('Testing a panel', () => { .trigger('mousemove', { clientX: 2000, clientY: 800 }) .trigger('mouseup', { force: true }); cy.wait(delay); - cy.get('.euiButton__text').contains('Save').click(); + cy.get('.euiButton__text').contains('Save').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('div.react-grid-layout>div').eq(1).invoke('height').should('match', new RegExp('470')); cy.wait(delay); @@ -346,11 +391,11 @@ describe('Testing a panel', () => { it('Delete a visualization', () => { cy.get('h5').contains(PPL_VISUALIZATIONS_NAMES[1]).should('exist'); - cy.get('.euiButton__text').contains('Edit').click(); + cy.get('.euiButton__text').contains('Edit').trigger('mouseover').click(); cy.wait(delay); - cy.get('.visualization-action-button').eq(1).click(); + cy.get('.visualization-action-button > .euiIcon').eq(1).trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Save').click(); + cy.get('.euiButton__text').contains('Save').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('h5').contains(PPL_VISUALIZATIONS_NAMES[1]).should('not.exist'); cy.wait(delay); @@ -358,8 +403,11 @@ describe('Testing a panel', () => { it('Duplicate a visualization', () => { cy.get('h5').contains(PPL_VISUALIZATIONS_NAMES[0]).should('exist'); - cy.get('button[aria-label="actionMenuButton"]').click(); - cy.get('.euiContextMenu__itemLayout > .euiContextMenuItem__text').contains('Duplicate').click(); + cy.get('button[aria-label="actionMenuButton"]').trigger('mouseover').click(); + cy.get('.euiContextMenu__itemLayout > .euiContextMenuItem__text') + .contains('Duplicate') + .trigger('mouseover') + .click(); cy.wait(delay * 2); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); cy.wait(delay); @@ -369,13 +417,16 @@ describe('Testing a panel', () => { }); it('Replace a visualization', () => { - cy.get('.visualization-action-button').eq(1).click(); - cy.get('.euiContextMenu__itemLayout > .euiContextMenuItem__text').contains('Replace').click(); + cy.get('.visualization-action-button').eq(1).trigger('mouseover').click(); + cy.get('.euiContextMenu__itemLayout > .euiContextMenuItem__text') + .contains('Replace') + .trigger('mouseover') + .click(); cy.get('select').select(PPL_VISUALIZATIONS_NAMES[1]); - cy.get('button[aria-label="refreshPreview"]').click(); + cy.get('button[aria-label="refreshPreview"]').trigger('mouseover').click(); cy.wait(delay * 3); cy.get('.plot-container').should('exist'); - cy.get('.euiButton__text').contains(new RegExp('^Add$', 'g')).click(); + cy.get('.euiButton__text').contains(new RegExp('^Add$', 'g')).trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); cy.wait(delay); @@ -385,22 +436,35 @@ describe('Testing a panel', () => { }); it('Create new visualization and add to panel', () => { - cy.get('.euiButton__text').contains('Add visualization').click(); + cy.get('.euiButton__text').contains('Add visualization').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Create new visualization').click(); + cy.get('.euiContextMenuItem__text') + .contains('Create new visualization') + .trigger('mouseover') + .click(); cy.wait(delay * 3); cy.url().should('match', new RegExp('(.*)#/event_analytics/explorer')); - cy.get('[id^=autocomplete-textarea]').type(PPL_VISUALIZATIONS[2]); - cy.get('.euiButton__text').contains('Refresh').click(); + cy.get('[id^=autocomplete-textarea]').focus().type(PPL_VISUALIZATIONS[2], { + delay: 50, + }); + cy.get('.euiButton__text').contains('Refresh').trigger('mouseover').click(); supressResizeObserverIssue(); - cy.get('button[id="main-content-vis"]').contains('Visualizations').click(); + cy.get('button[id="main-content-vis"]').contains('Visualizations').trigger('mouseover').click(); cy.wait(delay * 2); - cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').click(); - cy.get('[data-test-subj="eventExplorer__querySaveComboBox"]').type(TEST_PANEL); - cy.get(`input[value="${TEST_PANEL}"]`).click(); - cy.get('[data-test-subj="eventExplorer__querySaveName"]').type(PPL_VISUALIZATIONS_NAMES[2]); - cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').click(); + cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').trigger('mouseover').click(); + cy.wait(1000); + cy.get('[data-test-subj="eventExplorer__querySaveComboBox"]').type(TEST_PANEL, { + delay: 50, + }); + cy.wait(1000); + cy.get(`input[value="${TEST_PANEL}"]`).trigger('mouseover').click(); + cy.get('[data-test-subj="eventExplorer__querySaveName"]') + .focus() + .type(PPL_VISUALIZATIONS_NAMES[2], { + delay: 50, + }); + cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); moveToTestPanel(); @@ -412,19 +476,23 @@ describe('Testing a panel', () => { it('Move to test panel and check visualization edit button', () => { moveToTestPanel(); cy.get('h5').contains(PPL_VISUALIZATIONS_NAMES[0]).should('exist'); - cy.get('button[aria-label="actionMenuButton"]').eq(0).click(); + cy.get('button[aria-label="actionMenuButton"]').eq(0).trigger('mouseover').click(); supressResizeObserverIssue(); - cy.get('.euiContextMenu__itemLayout > .euiContextMenuItem__text').contains('Edit').click(); + cy.get('.euiContextMenu__itemLayout > .euiContextMenuItem__text') + .contains('Edit') + .trigger('mouseover') + .click(); cy.wait(delay * 3); cy.url().should('match', new RegExp('(.*)#/event_analytics/explorer')); cy.wait(delay); - cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').click(); - cy.wait(delay); + cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').trigger('mouseover').click(); + cy.wait(1000); cy.get('[data-test-subj="eventExplorer__querySaveName"]') - .focus() - .clear() - .type(NEW_VISUALIZATION_NAME); - cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').click(); + .clear({ force: true }) + .type(NEW_VISUALIZATION_NAME, { + delay: 200, + }); + cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiToastHeader__title').contains('successfully').should('exist'); moveToTestPanel(); @@ -437,23 +505,26 @@ describe('Testing a panel', () => { describe('Add samples and clean up all test data', () => { it('Add sample data', () => { moveToPanelHome(); - cy.get('.euiButton__text').contains('Actions').click(); - cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Add samples').click(); + cy.get('.euiButton__text').contains('Actions').trigger('mouseover').click(); cy.wait(delay); + cy.get('.euiContextMenuItem__text').contains('Add samples').trigger('mouseover').click(); + cy.wait(delay * 3); cy.get('.euiModalHeader__title[data-test-subj="confirmModalTitleText"]') .contains('Add samples') .should('exist'); cy.wait(delay); - cy.get('.euiButton__text').contains('Yes').click(); + cy.get('.euiButton__text').contains('Yes').trigger('mouseover').click(); cy.wait(delay * 5); - cy.get('.euiTableCellContent').contains(SAMPLE_PANEL).should('exist'); + cy.route2('POST', '/addSamplePanels').as('removePage'); + cy.wait('@removePage').then(() => { + cy.get('.euiTableCellContent').contains(SAMPLE_PANEL).should('exist'); + }); cy.wait(delay); }); it('Validate sample data', () => { moveToPanelHome(); - cy.get('.euiTableCellContent').contains(SAMPLE_PANEL).click(); + cy.get('.euiTableCellContent').contains(SAMPLE_PANEL).trigger('mouseover').click(); cy.wait(delay * 3); cy.get('h1').contains(SAMPLE_PANEL).should('exist'); cy.wait(delay); @@ -465,38 +536,38 @@ describe('Add samples and clean up all test data', () => { it('Delete visualizations from event analytics', () => { moveToEventsHome(); - cy.get('[data-test-subj="tablePaginationPopoverButton"]').click(); - cy.get('.euiContextMenuItem__text').contains('50 rows').click(); - cy.get('.euiCheckbox__input[data-test-subj="checkboxSelectAll"]').click(); + cy.get('[data-test-subj="tablePaginationPopoverButton"]').trigger('mouseover').click(); + cy.get('.euiContextMenuItem__text').contains('50 rows').trigger('mouseover').click(); + cy.get('.euiCheckbox__input[data-test-subj="checkboxSelectAll"]').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Actions').click(); + cy.get('.euiButton__text').contains('Actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Delete').click(); + cy.get('.euiContextMenuItem__text').contains('Delete').trigger('mouseover').click(); cy.wait(delay); - cy.get('button.euiButton--danger').should('be.disabled'); - - cy.get('input.euiFieldText[placeholder="delete"]').type('delete'); + cy.get('input.euiFieldText[placeholder="delete"]').focus().type('delete', { + delay: 50, + }); cy.get('button.euiButton--danger').should('not.be.disabled'); - cy.get('.euiButton__text').contains('Delete').click(); + cy.get('.euiButton__text').contains('Delete').trigger('mouseover').click(); cy.wait(delay); cy.get('.euiTextAlign').contains('No Queries or Visualizations').should('exist'); }); it('Deletes test panel', () => { moveToPanelHome(); - cy.get('.euiCheckbox__input[data-test-subj="checkboxSelectAll"]').click(); + cy.get('.euiCheckbox__input[data-test-subj="checkboxSelectAll"]').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiButton__text').contains('Actions').click(); + cy.get('.euiButton__text').contains('Actions').trigger('mouseover').click(); cy.wait(delay); - cy.get('.euiContextMenuItem__text').contains('Delete').click(); + cy.get('.euiContextMenuItem__text').contains('Delete').trigger('mouseover').click(); cy.wait(delay); - cy.get('button.euiButton--danger').should('be.disabled'); - - cy.get('input.euiFieldText[placeholder="delete"]').type('delete'); + cy.get('input.euiFieldText[placeholder="delete"]').focus().type('delete', { + delay: 50, + }); cy.get('button.euiButton--danger').should('not.be.disabled'); - cy.get('.euiButton__text').contains('Delete').click(); + cy.get('.euiButton__text').contains('Delete').trigger('mouseover').click(); cy.get('.euiTextAlign').contains('No Operational Panels').should('exist'); }); diff --git a/dashboards-observability/.cypress/utils/panel_constants.js b/dashboards-observability/.cypress/utils/panel_constants.js index 987d1dc3c..cc173d807 100644 --- a/dashboards-observability/.cypress/utils/panel_constants.js +++ b/dashboards-observability/.cypress/utils/panel_constants.js @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -export const delay = 1300; +export const delay = 100; export const TEST_PANEL = 'Test Panel'; export const SAMPLE_PANEL = '[Logs] Web traffic Panel'; diff --git a/dashboards-observability/cypress.json b/dashboards-observability/cypress.json index 5de5badf6..5c55805ba 100644 --- a/dashboards-observability/cypress.json +++ b/dashboards-observability/cypress.json @@ -13,6 +13,7 @@ "requestTimeout": 60000, "responseTimeout": 60000, "defaultCommandTimeout": 60000, + "experimentalNetworkStubbing": true, "env": { "opensearch": "localhost:9200", "opensearchDashboards": "localhost:5601", diff --git a/dashboards-observability/yarn.lock b/dashboards-observability/yarn.lock index 968052af2..689c3533f 100644 --- a/dashboards-observability/yarn.lock +++ b/dashboards-observability/yarn.lock @@ -19,6 +19,27 @@ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-theme-classic/-/autocomplete-theme-classic-1.3.0.tgz#68657b214ea49715116f702ae3eae2a5d6b8983d" integrity sha512-npQlljLXAAdXL9chj98xvhNOIgInaX27SUfBfFeCds3YtnwI+ZOATiYUOl7/WkyzxXvwEMUIO1sUenlZuH8o0A== +"@babel/code-frame@^7.0.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/highlight@^7.16.7": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" + integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" @@ -324,7 +345,14 @@ ansi-escapes@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-regex@^2.0.0, ansi-regex@^3.0.0, ansi-regex@^5.0.0, ansi-regex@^5.0.1: +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^2.0.0, ansi-regex@^3.0.0, ansi-regex@^4.1.0, ansi-regex@^5.0.0, ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -334,7 +362,7 @@ ansi-styles@^2.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -385,6 +413,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + async@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" @@ -473,6 +506,11 @@ call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -489,7 +527,7 @@ chalk@^1.0.0, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -521,6 +559,11 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + check-more-types@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" @@ -550,6 +593,13 @@ cli-cursor@^2.0.0, cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-table3@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee" @@ -568,6 +618,11 @@ cli-truncate@^0.2.1: slice-ansi "0.0.4" string-width "^1.0.1" +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -649,6 +704,17 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^7.0.0: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -733,6 +799,13 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^4.0.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debug@^4.1.1: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" @@ -752,6 +825,11 @@ deep-equal@^1.1.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -764,6 +842,13 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dom-helpers@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" @@ -826,6 +911,11 @@ elegant-spinner@^1.0.1: resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -853,6 +943,112 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +eslint-scope@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + eventemitter2@^6.4.2: version "6.4.4" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.4.tgz#aa96e8275c4dbeb017a5d0e03780c65612a1202b" @@ -890,6 +1086,15 @@ extend@^3.0.0, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extract-zip@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" @@ -920,6 +1125,11 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + fast-memoize@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" @@ -954,6 +1164,34 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -1028,7 +1266,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@^6.0.1: +glob-parent@^5.0.0, glob-parent@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -1054,6 +1292,13 @@ global-dirs@^2.0.1: dependencies: ini "1.3.7" +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" @@ -1168,11 +1413,36 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + immer@^9.0.1: version "9.0.6" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== +import-fresh@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" @@ -1282,7 +1552,7 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -1382,11 +1652,19 @@ jest-dom@^4.0.0: resolved "https://registry.yarnpkg.com/jest-dom/-/jest-dom-4.0.0.tgz#94eba3cbc6576e7bd6821867c92d176de28920eb" integrity sha512-gBxYZlZB1Jgvf2gP2pRfjjUWF8woGBHj/g5rAQgFPB/0K2atGuhVcPO+BItyjWeKg9zM+dokgcMOH01vrWVMFA== -"js-tokens@^3.0.0 || ^4.0.0": +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -1402,6 +1680,11 @@ json-schema@0.2.3, json-schema@^0.4.0: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -1431,6 +1714,14 @@ lazy-ass@^1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" @@ -1500,7 +1791,7 @@ lodash.once@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -1595,6 +1886,18 @@ minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -1622,6 +1925,21 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + normalize.css@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3" @@ -1688,6 +2006,23 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" @@ -1698,6 +2033,13 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-entities@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" @@ -1727,6 +2069,11 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -1757,6 +2104,11 @@ popper.js@^1.14.4, popper.js@^1.16.1: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + pretty-bytes@^5.4.1: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -1996,6 +2348,11 @@ regexp.prototype.flags@^1.2.0: call-bind "^1.0.2" define-properties "^1.1.3" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + remark-parse@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" @@ -2044,6 +2401,11 @@ resize-observer-polyfill@^1.5.1: resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -2060,6 +2422,21 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + rimraf@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -2067,7 +2444,12 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" -rxjs@^6.3.3: +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +rxjs@^6.3.3, rxjs@^6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -2084,7 +2466,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -2113,6 +2495,11 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" @@ -2128,11 +2515,25 @@ slice-ansi@0.0.4: resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + space-separated-tokens@^1.0.0: version "1.1.5" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" @@ -2170,6 +2571,24 @@ string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" @@ -2200,6 +2619,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -2207,11 +2633,23 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -2236,11 +2674,38 @@ symbol-observable@^1.1.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + tmp@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" @@ -2293,6 +2758,23 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + typed-styles@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" @@ -2399,6 +2881,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -2461,6 +2948,11 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" @@ -2474,6 +2966,13 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"