From e1c41f6641fea775dd1eb9545aa5e38fe31751f5 Mon Sep 17 00:00:00 2001 From: Ashwin Pc Date: Thu, 6 Oct 2022 00:14:07 -0700 Subject: [PATCH] Adds linter rules for license and import. Fixes linting Signed-off-by: Ashwin Pc --- .eslintrc.json | 9 +- .../common/dashboard_sample_data_spec.js | 5 + .../dashboard_sanity_test_spec.js | 5 + .../dashboard_filtering_spec.js | 5 + .../1_email_senders_and_groups.spec.js | 34 +- .../2_channels.spec.js | 54 +- .../query-workbench-dashboards/ui.spec.js | 58 +- cypress/plugins/index.js | 5 + cypress/support/index.js | 5 + .../notifications-dashboards/constants.js | 2 +- .../query-workbench-dashboards/constants.js | 2 +- index.js | 4 + package-lock.json | 572 +++++++++++++++++- package.json | 4 +- site/js/dashboard.js | 6 +- 15 files changed, 689 insertions(+), 81 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 9cef89ee0..5d10a4b5b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,19 +1,24 @@ { "env": { - "node": true + "node": true }, "extends": [ "eslint:recommended", "plugin:cypress/recommended", + "plugin:import/recommended", "prettier" ], "plugins": [ "cypress", + "header", + "import", "prettier" ], "rules": { "prettier/prettier": "error", + "header/header": [2, "block", ["", " * Copyright OpenSearch Contributors", " * SPDX-License-Identifier: Apache-2.0", " "]], // turn off no-unnecessary-waiting for now due to the issue: https://github.com/cypress-io/eslint-plugin-cypress/issues/43 "cypress/no-unnecessary-waiting": "off" - } + }, + "ignorePatterns": ["**/*.d.ts"] } \ No newline at end of file diff --git a/cypress/integration/common/dashboard_sample_data_spec.js b/cypress/integration/common/dashboard_sample_data_spec.js index 5d4fc3eda..db2f225a1 100644 --- a/cypress/integration/common/dashboard_sample_data_spec.js +++ b/cypress/integration/common/dashboard_sample_data_spec.js @@ -1,3 +1,8 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + import { CommonUI, MiscUtils, diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/dashboard_sanity_test_spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/dashboard_sanity_test_spec.js index 209820a35..b55f197f5 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/dashboard_sanity_test_spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/dashboard_sanity_test_spec.js @@ -1,3 +1,8 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + import { dashboardSanityTests } from '../../common/dashboard_sample_data_spec.js'; dashboardSanityTests(); diff --git a/cypress/integration/core-opensearch-dashboards/vanilla-opensearch-dashboards/dashboard_filtering_spec.js b/cypress/integration/core-opensearch-dashboards/vanilla-opensearch-dashboards/dashboard_filtering_spec.js index caef8511d..4ee2a0dd1 100644 --- a/cypress/integration/core-opensearch-dashboards/vanilla-opensearch-dashboards/dashboard_filtering_spec.js +++ b/cypress/integration/core-opensearch-dashboards/vanilla-opensearch-dashboards/dashboard_filtering_spec.js @@ -1,3 +1,8 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + import { TestFixtureHandler, CommonUI, diff --git a/cypress/integration/plugins/notifications-dashboards/1_email_senders_and_groups.spec.js b/cypress/integration/plugins/notifications-dashboards/1_email_senders_and_groups.spec.js index 3af2c390e..25c4e1adf 100644 --- a/cypress/integration/plugins/notifications-dashboards/1_email_senders_and_groups.spec.js +++ b/cypress/integration/plugins/notifications-dashboards/1_email_senders_and_groups.spec.js @@ -6,15 +6,15 @@ /// import { - delay, + BASE_PATH, + NOTIFICATIONS_DELAY, NOTIFICATIONS_PLUGIN_NAME, -} from '../../../utils/plugins/notifications-dashboards/constants'; -import { BASE_PATH } from '../../../utils/base_constants'; +} from '../../../utils/constants'; describe('Test create email senders', () => { beforeEach(() => { cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-senders`); - cy.wait(delay * 3); + cy.wait(NOTIFICATIONS_DELAY * 3); }); it('creates ssl sender', () => { @@ -56,9 +56,9 @@ describe('Test create email senders', () => { cy.get('[data-test-subj="create-sender-form-encryption-input"]').click({ force: true, }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text').contains('TLS').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiButton__text').contains('Create').click({ force: true }); cy.contains('successfully created.').should('exist'); @@ -91,7 +91,7 @@ describe('Test create email senders', () => { describe('Test edit senders', () => { beforeEach(() => { cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-senders`); - cy.wait(delay * 3); + cy.wait(NOTIFICATIONS_DELAY * 3); }); it('edits sender email address', () => { @@ -100,7 +100,7 @@ describe('Test edit senders', () => { cy.get('[data-test-subj="create-sender-form-email-input"]').type( '{selectall}{backspace}edited.test@email.com' ); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiButton__text').contains('Save').click({ force: true }); cy.contains('successfully updated.').should('exist'); @@ -112,7 +112,7 @@ describe('Test edit senders', () => { cy.get('[data-test-subj="create-ses-sender-form-aws-region-input"]').type( '{selectall}{backspace}us-west-2' ); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiButton__text').contains('Save').click({ force: true }); cy.contains('successfully updated.').should('exist'); @@ -122,14 +122,14 @@ describe('Test edit senders', () => { describe('Test delete senders', () => { beforeEach(() => { cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-senders`); - cy.wait(delay * 3); + cy.wait(NOTIFICATIONS_DELAY * 3); }); it('deletes smtp senders', () => { cy.get('.euiCheckbox__input[aria-label="Select this row"]').eq(0).click(); // ssl sender cy.get('[data-test-subj="senders-table-delete-button"]').click(); cy.get('input[placeholder="delete"]').type('delete'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="delete-sender-modal-delete-button"]').click(); cy.contains('successfully deleted.').should('exist'); }); @@ -138,7 +138,7 @@ describe('Test delete senders', () => { cy.get('.euiCheckbox__input[aria-label="Select this row"]').last().click(); // ses sender cy.get('[data-test-subj="ses-senders-table-delete-button"]').click(); cy.get('input[placeholder="delete"]').type('delete'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="delete-sender-modal-delete-button"]').click(); cy.contains('successfully deleted.').should('exist'); @@ -151,7 +151,7 @@ describe('Test create, edit and delete recipient group', () => { cy.visit( `${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-recipient-groups` ); - cy.wait(delay * 3); + cy.wait(NOTIFICATIONS_DELAY * 3); }); it('creates recipient group', () => { @@ -185,12 +185,12 @@ describe('Test create, edit and delete recipient group', () => { cy.get('[data-test-subj="comboBoxInput"]').type( 'custom.email.6@test.com{enter}' ); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiButton__text').contains('Create').click({ force: true }); cy.contains('successfully created.').should('exist'); cy.contains('Test recipient group').should('exist'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); }); it('edits recipient group description', () => { @@ -203,7 +203,7 @@ describe('Test create, edit and delete recipient group', () => { cy.get( '[data-test-subj="create-recipient-group-form-description-input"]' ).type('{selectall}{backspace}Updated group description'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiButton__text').contains('Save').click({ force: true }); cy.contains('successfully updated.').should('exist'); @@ -218,7 +218,7 @@ describe('Test create, edit and delete recipient group', () => { cy.get('[data-test-subj="checkboxSelectAll"]').last().click(); cy.get('[data-test-subj="recipient-groups-table-delete-button"]').click(); cy.get('input[placeholder="delete"]').type('delete'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get( '[data-test-subj="delete-recipient-group-modal-delete-button"]' ).click({ force: true }); diff --git a/cypress/integration/plugins/notifications-dashboards/2_channels.spec.js b/cypress/integration/plugins/notifications-dashboards/2_channels.spec.js index b0c58b606..f1df6f94e 100644 --- a/cypress/integration/plugins/notifications-dashboards/2_channels.spec.js +++ b/cypress/integration/plugins/notifications-dashboards/2_channels.spec.js @@ -6,15 +6,15 @@ /// import { - delay, + BASE_PATH, + NOTIFICATIONS_DELAY, NOTIFICATIONS_PLUGIN_NAME, -} from '../../../utils/plugins/notifications-dashboards/constants'; -import { BASE_PATH } from '../../../utils/base_constants'; +} from '../../../utils/constants'; describe('Test create channels', () => { beforeEach(() => { cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#create-channel`); - cy.wait(delay * 3); + cy.wait(NOTIFICATIONS_DELAY * 3); }); it('creates a slack channel and send test message', () => { @@ -25,11 +25,11 @@ describe('Test create channels', () => { cy.get('[data-test-subj="create-channel-slack-webhook-input"]').type( 'https://sample-slack-webhook' ); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="create-channel-send-test-message-button"]').click({ force: true, }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); // This needs some time to appear as it will wait for backend call to timeout cy.contains('test message.').should('exist'); @@ -43,16 +43,16 @@ describe('Test create channels', () => { cy.get('[placeholder="Enter channel name"]').type('Test chime channel'); cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text') .contains('Chime') .click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="create-channel-chime-webhook-input"]').type( 'https://sample-chime-webhook' ); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="create-channel-create-button"]').click(); cy.contains('successfully created.').should('exist'); @@ -62,11 +62,11 @@ describe('Test create channels', () => { cy.get('[placeholder="Enter channel name"]').type('Test email channel'); cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text') .contains('Email') .click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); // custom data-test-subj does not work on combo box cy.get('[data-test-subj="comboBoxInput"]').eq(0).click({ force: true }); @@ -84,7 +84,7 @@ describe('Test create channels', () => { cy.get('[data-test-subj="comboBoxInput"]') .last() .type('custom.email@test.com{enter}'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get( '[data-test-subj="create-recipient-group-modal-create-button"]' ).click(); @@ -100,14 +100,14 @@ describe('Test create channels', () => { ); cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text') .contains('Email') .click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('input.euiRadio__input#ses_account').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiButton__text') .contains('Create SES sender') @@ -130,7 +130,7 @@ describe('Test create channels', () => { // custom data-test-subj does not work on combo box cy.get('[data-test-subj="comboBoxInput"]').eq(1).click({ force: true }); cy.contains('Test recipient group').click(); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="create-channel-create-button"]').click(); cy.contains('successfully created.').should('exist'); @@ -140,11 +140,11 @@ describe('Test create channels', () => { cy.get('[placeholder="Enter channel name"]').type('Test webhook channel'); cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text') .contains('Custom webhook') .click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="custom-webhook-url-input"]').type( 'https://custom-webhook-test-url.com:8888/test-path?params1=value1¶ms2=value2¶ms3=value3¶ms4=value4¶ms5=values5¶ms6=values6¶ms7=values7' @@ -158,11 +158,11 @@ describe('Test create channels', () => { cy.get('[placeholder="Enter channel name"]').type('test-sns-channel'); cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text') .contains('Amazon SNS') .click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="sns-settings-topic-arn-input"]').type( 'arn:aws:sns:us-west-2:123456789012:notifications-test' @@ -179,7 +179,7 @@ describe('Test create channels', () => { describe('Test channels table', () => { beforeEach(() => { cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#channels`); - cy.wait(delay * 3); + cy.wait(NOTIFICATIONS_DELAY * 3); }); it('displays channels', () => { @@ -192,13 +192,13 @@ describe('Test channels table', () => { it('mutes channels', () => { cy.get('.euiCheckbox__input[aria-label="Select this row"]').eq(0).click(); // chime channel cy.get('.euiButton__text').contains('Actions').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('.euiContextMenuItem__text').contains('Mute').click({ force: true }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.get('[data-test-subj="mute-channel-modal-mute-button"]').click({ force: true, }); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.contains('successfully muted.').should('exist'); cy.contains('Muted').should('exist'); }); @@ -207,7 +207,7 @@ describe('Test channels table', () => { cy.get('input[placeholder="Search"]') .type('chime{enter}') .trigger('search'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.contains('Test chime channel').should('exist'); cy.contains('Test slack channel').should('not.exist'); cy.contains('Test email channel').should('not.exist'); @@ -216,7 +216,7 @@ describe('Test channels table', () => { cy.get('input[placeholder="Search"]') .type('Source{enter}') .trigger('search'); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.contains('No channels to display').should('exist'); }); }); @@ -261,7 +261,7 @@ describe('Test channel details', () => { cy.get('.euiTextArea').type( '{selectall}{backspace}Updated custom webhook description' ); - cy.wait(delay); + cy.wait(NOTIFICATIONS_DELAY); cy.contains('Save').click({ force: true }); cy.contains('successfully updated.').should('exist'); diff --git a/cypress/integration/plugins/query-workbench-dashboards/ui.spec.js b/cypress/integration/plugins/query-workbench-dashboards/ui.spec.js index b08e0b9ef..f934b7c9f 100644 --- a/cypress/integration/plugins/query-workbench-dashboards/ui.spec.js +++ b/cypress/integration/plugins/query-workbench-dashboards/ui.spec.js @@ -7,7 +7,7 @@ import { edit } from 'brace'; import { - delay, + QUERY_WORKBENCH_DELAY, files, testDataSet, testQueries, @@ -41,9 +41,9 @@ describe('Dump test data', () => { describe('Test PPL UI', () => { beforeEach(() => { cy.visit('app/opensearch-query-workbench'); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text[title=PPL]').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); }); it('Confirm results are empty', () => { @@ -57,9 +57,9 @@ describe('Test PPL UI', () => { .eq(0) .focus() .type('source=accounts | sort firstname', { force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiTab__content').contains('Events').click({ force: true }); cy.contains('Abbott'); @@ -70,13 +70,13 @@ describe('Test PPL UI', () => { .eq(0) .focus() .type('source=accounts', { force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiTab__content').contains('Events').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Clear').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiTextAlign') .contains('Enter a query in the query editor above to see results.') @@ -97,9 +97,9 @@ describe('Test PPL UI', () => { .eq(0) .focus() .type('source=accounts', { force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text') .contains('Full screen view') .click({ force: true }); @@ -107,7 +107,7 @@ describe('Test PPL UI', () => { cy.get('.euiTitle').should('not.exist'); cy.get('button#exit-fullscreen-button').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Full screen view').should('exist'); cy.get('.euiTitle').contains('Query Workbench').should('exist'); }); @@ -116,9 +116,9 @@ describe('Test PPL UI', () => { describe('Test SQL UI', () => { beforeEach(() => { cy.visit('app/opensearch-query-workbench'); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text[title=SQL]').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); }); it('Confirm results are empty', () => { @@ -134,9 +134,9 @@ describe('Test SQL UI', () => { .type('{enter}select * from accounts where balance > 49500;', { force: true, }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiTab__content').contains('accounts').click({ force: true }); cy.get('input.euiFieldSearch').type('marissa'); @@ -148,7 +148,7 @@ describe('Test SQL UI', () => { .eq(0) .focus() .type('{selectall}{backspace}', { force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('textarea.ace_text-input') .eq(0) .focus() @@ -158,16 +158,16 @@ describe('Test SQL UI', () => { force: true, } ); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Explain').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.contains('OpenSearchQueryRequest(indexName=accounts'); }); it('Test Clear button', () => { cy.get('.euiButton__text').contains('Clear').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.ace_content') .eq(0) @@ -182,7 +182,7 @@ describe('Test SQL UI', () => { cy.get('.euiTitle').contains('Query Workbench').should('exist'); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text') .contains('Full screen view') .click({ force: true }); @@ -222,14 +222,14 @@ describe('Test and verify SQL downloads', () => { describe('Test table display', () => { beforeEach(() => { cy.visit('app/opensearch-query-workbench'); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text[title=SQL]').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('textarea.ace_text-input') .eq(0) .focus() .type('{selectall}{backspace}', { force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); }); testQueries.map(({ title, query, cell_idx, expected_string }) => { @@ -238,9 +238,9 @@ describe('Test table display', () => { .eq(0) .focus() .type(`{selectall}{backspace}${query}`, { force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('span.euiTableCellContent__text') .eq(cell_idx) @@ -257,12 +257,12 @@ describe('Test table display', () => { .type(`{selectall}{backspace}select * from employee_nested;`, { force: true, }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('.euiButton__text').contains('Run').click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.get('button.euiLink').eq(2).click({ force: true }); - cy.wait(delay); + cy.wait(QUERY_WORKBENCH_DELAY); cy.contains('comment_2_1'); }); }); diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index 8229063ad..80b077ce8 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -1,3 +1,8 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + /// // *********************************************************** // This example plugins/index.js can be used to load plugins diff --git a/cypress/support/index.js b/cypress/support/index.js index 0f6ec4600..5468dc221 100644 --- a/cypress/support/index.js +++ b/cypress/support/index.js @@ -1,3 +1,8 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + // *********************************************************** // This example support/index.js is processed and // loaded automatically before your test files. diff --git a/cypress/utils/plugins/notifications-dashboards/constants.js b/cypress/utils/plugins/notifications-dashboards/constants.js index 5dccb686f..fd6258f70 100644 --- a/cypress/utils/plugins/notifications-dashboards/constants.js +++ b/cypress/utils/plugins/notifications-dashboards/constants.js @@ -4,4 +4,4 @@ */ export const NOTIFICATIONS_PLUGIN_NAME = 'notifications-dashboards'; -export const delay = 1000; +export const NOTIFICATIONS_DELAY = 1000; diff --git a/cypress/utils/plugins/query-workbench-dashboards/constants.js b/cypress/utils/plugins/query-workbench-dashboards/constants.js index fc1a0cbc6..1c4e79df0 100644 --- a/cypress/utils/plugins/query-workbench-dashboards/constants.js +++ b/cypress/utils/plugins/query-workbench-dashboards/constants.js @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -export const delay = 1000; +export const QUERY_WORKBENCH_DELAY = 1000; export const testDataSet = [ { diff --git a/index.js b/index.js index e69de29bb..a850c1690 100644 --- a/index.js +++ b/index.js @@ -0,0 +1,4 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ diff --git a/package-lock.json b/package-lock.json index a5ee689eb..eeb0c34a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "opensearch-dashboards-functional-test", - "version": "2.0.0", + "version": "3.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -179,6 +179,12 @@ "version": "git+https://github.com/opensearch-project/opensearch-dashboards-test-library.git#9c0adaa6d492accd9f737aa905b2a2ca3be6840f", "from": "git+https://github.com/opensearch-project/opensearch-dashboards-test-library.git#main" }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, "@types/node": { "version": "14.18.16", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", @@ -294,6 +300,31 @@ "sprintf-js": "~1.0.2" } }, + "array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + } + }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -415,6 +446,16 @@ "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -681,6 +722,16 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -730,6 +781,58 @@ "ansi-colors": "^4.1.1" } }, + "es-abstract": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", + "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.6", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -807,6 +910,47 @@ "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "eslint-plugin-cypress": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.12.1.tgz", @@ -824,6 +968,68 @@ } } }, + "eslint-plugin-header": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", + "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", + "dev": true + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "eslint-plugin-prettier": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", @@ -1095,12 +1301,47 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -1110,6 +1351,16 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", @@ -1175,12 +1426,51 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "http-signature": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", @@ -1260,12 +1550,48 @@ "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, "is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -1275,6 +1601,24 @@ "ci-info": "^3.2.0" } }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1306,18 +1650,70 @@ "is-path-inside": "^3.0.2" } }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -1330,6 +1726,15 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1388,6 +1793,15 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -1649,6 +2063,41 @@ "path-key": "^3.0.0" } }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1717,6 +2166,12 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -1801,6 +2256,17 @@ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -1822,6 +2288,17 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -1868,6 +2345,17 @@ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -1898,6 +2386,17 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -1960,6 +2459,28 @@ } } }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -1969,6 +2490,12 @@ "ansi-regex": "^5.0.1" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -1990,6 +2517,12 @@ "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "table": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", @@ -2089,6 +2622,18 @@ "punycode": "^2.1.1" } }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, "tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", @@ -2125,6 +2670,18 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -2178,6 +2735,19 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/package.json b/package.json index 28b276c8c..3bb193c81 100644 --- a/package.json +++ b/package.json @@ -46,8 +46,10 @@ "eslint": "^7.0.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-cypress": "^2.12.1", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "^4.0.0", "husky": "^6.0.0", "mocha-junit-reporter": "^2.0.0" } -} \ No newline at end of file +} diff --git a/site/js/dashboard.js b/site/js/dashboard.js index 6e5168c9d..b6039fda4 100644 --- a/site/js/dashboard.js +++ b/site/js/dashboard.js @@ -1,5 +1,7 @@ -// Copyright OpenSearch Contributors -// SPDX-License-Identifier: Apache-2.0 +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ const defaults = { version: '2.0.1',