From be5b8f4ac728c7f52aa3e1273bb38692f9466864 Mon Sep 17 00:00:00 2001 From: Andrey Zhavoronkov Date: Tue, 27 Oct 2020 10:31:34 +0300 Subject: [PATCH 1/8] fixed 'List of tasks' visualization --- components/analytics/kibana/export.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/analytics/kibana/export.json b/components/analytics/kibana/export.json index d4896f5b..63ae7373 100644 --- a/components/analytics/kibana/export.json +++ b/components/analytics/kibana/export.json @@ -99,7 +99,7 @@ "_id": "ec510550-c238-11e8-8e1b-758ef07f6de8", "_type": "index-pattern", "_source": { - "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"@version\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"@version.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"application\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"application.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"box count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"duration\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"event\",\"type\":\"string\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"event.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"frame count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"object count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"points count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"polygon count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"polyline count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"task\",\"type\":\"string\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"task.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"timestamp\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"track count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"userid\",\"type\":\"string\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"userid.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"working_time\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", + "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"@version\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"@version.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"application\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"application.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"box count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"duration\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"event\",\"type\":\"string\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"event.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"frame count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"object count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"points count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"polygon count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"polyline count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"task\",\"type\":\"string\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"task\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"timestamp\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"track count\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"userid\",\"type\":\"string\",\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"userid.keyword\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"working_time\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", "title": "cvat*", "timeFieldName": "@timestamp", "fieldFormatMap": "{\"duration\":{\"id\":\"duration\",\"params\":{\"inputFormat\":\"milliseconds\",\"outputFormat\":\"asSeconds\"}},\"working_time\":{\"id\":\"duration\",\"params\":{\"inputFormat\":\"milliseconds\",\"outputFormat\":\"asHours\"}}}" @@ -164,7 +164,7 @@ "_type": "visualization", "_source": { "title": "List of tasks", - "visState": "{\"title\":\"List of tasks\",\"type\":\"table\",\"params\":{\"perPage\":20,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"working_time\",\"customLabel\":\"Working time (h)\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"task.keyword\",\"size\":1000,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Task\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"userid.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"_key\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"User\"}}]}", + "visState": "{\"title\":\"List of tasks\",\"type\":\"table\",\"params\":{\"perPage\":20,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"working_time\",\"customLabel\":\"Working time (h)\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"task\",\"size\":1000,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Task\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"userid.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"_key\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"User\"}}]}", "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}}", "description": "", "version": 1, From 256e85d87118db5bb8ce1024df95ef8e3e67adba Mon Sep 17 00:00:00 2001 From: Andrey Zhavoronkov Date: Tue, 27 Oct 2020 10:56:47 +0300 Subject: [PATCH 2/8] updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b38365f8..9ffdf465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed CVAT startup process if the user has `umask 077` in .bashrc file () - Exception: Cannot read property "each" of undefined after drawing a single point () - Cannot read property 'label' of undefined (Fixed?) () +- 'List of tasks' Kibana visualization () ### Security From 3531316d52373f9f1528411b0987e0c8aa081fee Mon Sep 17 00:00:00 2001 From: Dmitry Kruchinin <33020454+dvkruchinin@users.noreply.github.com> Date: Tue, 27 Oct 2020 12:46:39 +0300 Subject: [PATCH 3/8] Cypress. Saving the label name before creating the object. (#2360) * Save lable value befor create an object. And check it on right panel. * Test for issue 1425. Select the necessary label in any case in AAM. Co-authored-by: Kruchinin --- ...ase_10_polygon_shape_track_label_points.js | 42 ------------------- ...e_11_polylines_shape_track_label_points.js | 42 ------------------- .../case_12_points_shape_track_label.js | 42 ------------------- .../case_8_rectangle_shape_track_label.js | 42 ------------------- .../case_9_cuboid_shape_track_label.js | 42 ------------------- ...d_attribute_correspond_chosen_attribute.js | 7 +++- tests/cypress/support/commands.js | 42 ++++++++++++++++--- 7 files changed, 43 insertions(+), 216 deletions(-) diff --git a/tests/cypress/integration/actions_tasks_objects/case_10_polygon_shape_track_label_points.js b/tests/cypress/integration/actions_tasks_objects/case_10_polygon_shape_track_label_points.js index 1bcb2979..98733818 100644 --- a/tests/cypress/integration/actions_tasks_objects/case_10_polygon_shape_track_label_points.js +++ b/tests/cypress/integration/actions_tasks_objects/case_10_polygon_shape_track_label_points.js @@ -103,57 +103,15 @@ context('Actions on polygon', () => { }); it('Draw a polygon shape, track', () => { cy.createPolygon(createPolygonShape); - cy.get('#cvat_canvas_shape_1').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-1') - .should('contain', '1') - .and('contain', 'POLYGON SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createPolygon(createPolygonTrack); - cy.get('#cvat_canvas_shape_2').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-2') - .should('contain', '2') - .and('contain', 'POLYGON TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a polygon shape, track with use parameter "number of points"', () => { cy.createPolygon(createPolygonShapePoints); - cy.get('#cvat_canvas_shape_3').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-3') - .should('contain', '3') - .and('contain', 'POLYGON SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createPolygon(createPolygonTrackPoints); - cy.get('#cvat_canvas_shape_4').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-4') - .should('contain', '4') - .and('contain', 'POLYGON TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a polygon shape, track with second label', () => { cy.createPolygon(createPolygonShapeSwitchLabel); - cy.get('#cvat_canvas_shape_5').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-5') - .should('contain', '5') - .and('contain', 'POLYGON SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); cy.createPolygon(createPolygonTrackSwitchLabel); - cy.get('#cvat_canvas_shape_6').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-6') - .should('contain', '6') - .and('contain', 'POLYGON TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); }); }); }); diff --git a/tests/cypress/integration/actions_tasks_objects/case_11_polylines_shape_track_label_points.js b/tests/cypress/integration/actions_tasks_objects/case_11_polylines_shape_track_label_points.js index 77b5880e..98ef87c4 100644 --- a/tests/cypress/integration/actions_tasks_objects/case_11_polylines_shape_track_label_points.js +++ b/tests/cypress/integration/actions_tasks_objects/case_11_polylines_shape_track_label_points.js @@ -98,57 +98,15 @@ context('Actions on polylines', () => { }); it('Draw a polylines shape, track', () => { cy.createPolyline(createPolylinesShape); - cy.get('#cvat_canvas_shape_1').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-1') - .should('contain', '1') - .and('contain', 'POLYLINE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createPolyline(createPolylinesTrack); - cy.get('#cvat_canvas_shape_2').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-2') - .should('contain', '2') - .and('contain', 'POLYLINE TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a polylines shape, track with use parameter "number of points"', () => { cy.createPolyline(createPolylinesShapePoints); - cy.get('#cvat_canvas_shape_3').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-3') - .should('contain', '3') - .and('contain', 'POLYLINE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createPolyline(createPolylinesTrackPoints); - cy.get('#cvat_canvas_shape_4').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-4') - .should('contain', '4') - .and('contain', 'POLYLINE TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a polylines shape, track with second label', () => { cy.createPolyline(createPolylinesShapeSwitchLabel); - cy.get('#cvat_canvas_shape_5').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-5') - .should('contain', '5') - .and('contain', 'POLYLINE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); cy.createPolyline(createPolylinesTrackSwitchLabel); - cy.get('#cvat_canvas_shape_6').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-6') - .should('contain', '6') - .and('contain', 'POLYLINE TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); }); }); }); diff --git a/tests/cypress/integration/actions_tasks_objects/case_12_points_shape_track_label.js b/tests/cypress/integration/actions_tasks_objects/case_12_points_shape_track_label.js index 6250115f..cb16ebbd 100644 --- a/tests/cypress/integration/actions_tasks_objects/case_12_points_shape_track_label.js +++ b/tests/cypress/integration/actions_tasks_objects/case_12_points_shape_track_label.js @@ -97,57 +97,15 @@ context('Actions on points', () => { }); it('Draw a points shape, track', () => { cy.createPoint(createPointsShape); - cy.get('#cvat_canvas_shape_1').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-1') - .should('contain', '1') - .and('contain', 'POINTS SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createPoint(createPointsTrack); - cy.get('#cvat_canvas_shape_2').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-2') - .should('contain', '2') - .and('contain', 'POINTS TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a points shape, track with use parameter "number of points"', () => { cy.createPoint(createPointsShapePoints); - cy.get('#cvat_canvas_shape_3').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-3') - .should('contain', '3') - .and('contain', 'POINTS SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createPoint(createPointsTrackPoints); - cy.get('#cvat_canvas_shape_4').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-4') - .should('contain', '4') - .and('contain', 'POINTS TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a points shape, track with second label', () => { cy.createPoint(createPointsShapeSwitchLabel); - cy.get('#cvat_canvas_shape_5').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-5') - .should('contain', '5') - .and('contain', 'POINTS SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); cy.createPoint(createPointsTrackSwitchLabel); - cy.get('#cvat_canvas_shape_6').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-6') - .should('contain', '6') - .and('contain', 'POINTS TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); }); }); }); diff --git a/tests/cypress/integration/actions_tasks_objects/case_8_rectangle_shape_track_label.js b/tests/cypress/integration/actions_tasks_objects/case_8_rectangle_shape_track_label.js index 5547792f..85af45ce 100644 --- a/tests/cypress/integration/actions_tasks_objects/case_8_rectangle_shape_track_label.js +++ b/tests/cypress/integration/actions_tasks_objects/case_8_rectangle_shape_track_label.js @@ -95,57 +95,15 @@ context('Actions on rectangle', () => { }); it('Draw a rectangle shape in two ways (by 2 points, by 4 points)', () => { cy.createRectangle(createRectangleShape2Points); - cy.get('#cvat_canvas_shape_1').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-1') - .should('contain', '1') - .and('contain', 'RECTANGLE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createRectangle(createRectangleShape4Points); - cy.get('#cvat_canvas_shape_2').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-2') - .should('contain', '2') - .and('contain', 'RECTANGLE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a rectangle track in two ways (by 2 points, by 4 points)', () => { cy.createRectangle(createRectangleTrack2Points); - cy.get('#cvat_canvas_shape_3').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-3') - .should('contain', '3') - .and('contain', 'RECTANGLE TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createRectangle(createRectangleTrack4Points); - cy.get('#cvat_canvas_shape_4').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-4') - .should('contain', '4') - .and('contain', 'RECTANGLE TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a new rectangle shape in two ways (by 2 points, by 4 points) with second label', () => { cy.createRectangle(createRectangleShape2PointsNewLabel); - cy.get('#cvat_canvas_shape_5').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-5') - .should('contain', '5') - .and('contain', 'RECTANGLE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); cy.createRectangle(createRectangleShape4PointsNewLabel); - cy.get('#cvat_canvas_shape_6').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-6') - .should('contain', '6') - .and('contain', 'RECTANGLE SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); }); }); }); diff --git a/tests/cypress/integration/actions_tasks_objects/case_9_cuboid_shape_track_label.js b/tests/cypress/integration/actions_tasks_objects/case_9_cuboid_shape_track_label.js index 3f8c721c..4b1f3d33 100644 --- a/tests/cypress/integration/actions_tasks_objects/case_9_cuboid_shape_track_label.js +++ b/tests/cypress/integration/actions_tasks_objects/case_9_cuboid_shape_track_label.js @@ -95,57 +95,15 @@ context('Actions on Cuboid', () => { }); it('Draw a Cuboid shape in two ways (From rectangle, by 4 points)', () => { cy.createCuboid(createCuboidShape2Points); - cy.get('#cvat_canvas_shape_1').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-1') - .should('contain', '1') - .and('contain', 'CUBOID SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createCuboid(createCuboidShape4Points); - cy.get('#cvat_canvas_shape_2').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-2') - .should('contain', '2') - .and('contain', 'CUBOID SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a Cuboid track in two ways (From rectangle, by 4 points)', () => { cy.createCuboid(createCuboidTrack2Points); - cy.get('#cvat_canvas_shape_3').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-3') - .should('contain', '3') - .and('contain', 'CUBOID TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); cy.createCuboid(createCuboidTrack4Points); - cy.get('#cvat_canvas_shape_4').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-4') - .should('contain', '4') - .and('contain', 'CUBOID TRACK') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', labelName); - }); }); it('Draw a new Cuboid shape in two ways (From rectangle, by 4 points) with second label', () => { cy.createCuboid(createCuboidShape2PointsNewLabel); - cy.get('#cvat_canvas_shape_5').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-5') - .should('contain', '5') - .and('contain', 'CUBOID SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); cy.createCuboid(createCuboidShape4PointsNewLabel); - cy.get('#cvat_canvas_shape_6').should('exist').and('be.visible'); - cy.get('#cvat-objects-sidebar-state-item-6') - .should('contain', '6') - .and('contain', 'CUBOID SHAPE') - .within(() => { - cy.get('.ant-select-selection-selected-value').should('contain', newLabelName); - }); }); }); }); diff --git a/tests/cypress/integration/actions_tasks_objects/issue_1425_highlighted_attribute_correspond_chosen_attribute.js b/tests/cypress/integration/actions_tasks_objects/issue_1425_highlighted_attribute_correspond_chosen_attribute.js index 9ee898b9..13926213 100644 --- a/tests/cypress/integration/actions_tasks_objects/issue_1425_highlighted_attribute_correspond_chosen_attribute.js +++ b/tests/cypress/integration/actions_tasks_objects/issue_1425_highlighted_attribute_correspond_chosen_attribute.js @@ -6,7 +6,7 @@ /// -import { taskName } from '../../support/const'; +import { taskName, labelName } from '../../support/const'; context('The highlighted attribute in AAM should correspond to the chosen attribute', () => { const issueId = '1425'; @@ -31,6 +31,11 @@ context('The highlighted attribute in AAM should correspond to the chosen attrib }); it('Go to AAM', () => { cy.changeAnnotationMode('Attribute annotation'); + // Select the necessary label in any case + cy.get('.attribute-annotation-sidebar-basics-editor').within(() => { + cy.get('.ant-select-selection').click(); + }); + cy.get('.ant-select-dropdown-menu-item').contains(labelName).click(); }); it('Check if highlighted attribute correspond to the chosen attribute in right panel', () => { cy.get('.cvat_canvas_text').within(() => { diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js index a4a7fb0b..889551c4 100644 --- a/tests/cypress/support/commands.js +++ b/tests/cypress/support/commands.js @@ -10,6 +10,8 @@ require('cypress-file-upload'); require('../plugins/imageGenerator/imageGeneratorCommand'); require('../plugins/createZipArchive/createZipArchiveCommand'); +let selectedValueGlobal = ''; + Cypress.Commands.add('login', (username = Cypress.env('user'), password = Cypress.env('password')) => { cy.get('[placeholder="Username"]').type(username); cy.get('[placeholder="Password"]').type(password); @@ -99,17 +101,21 @@ Cypress.Commands.add('createRectangle', (createRectangleParams) => { if (createRectangleParams.switchLabel) { cy.switchLabel(createRectangleParams.labelName); } - cy.get('.cvat-draw-shape-popover-content').contains(createRectangleParams.points).click(); - cy.get('.cvat-draw-shape-popover-content') - .find('button') - .contains(createRectangleParams.type) - .click({ force: true }); + cy.contains('Draw new rectangle') + .parents('.cvat-draw-shape-popover-content').within(() => { + cy.get('.ant-select-selection-selected-value').then(($labelValue) => { + selectedValueGlobal = $labelValue.text(); + }); + cy.get('.ant-radio-wrapper').contains(createRectangleParams.points).click(); + cy.get('button').contains(createRectangleParams.type).click({ force: true }); + }) cy.get('.cvat-canvas-container').click(createRectangleParams.firstX, createRectangleParams.firstY); cy.get('.cvat-canvas-container').click(createRectangleParams.secondX, createRectangleParams.secondY); if (createRectangleParams.points === 'By 4 Points') { cy.get('.cvat-canvas-container').click(createRectangleParams.thirdX, createRectangleParams.thirdY); cy.get('.cvat-canvas-container').click(createRectangleParams.fourthX, createRectangleParams.fourthY); } + cy.checkObjectParameters(createRectangleParams, 'RECTANGLE'); }); Cypress.Commands.add('switchLabel', (labelName) => { @@ -117,6 +123,16 @@ Cypress.Commands.add('switchLabel', (labelName) => { cy.get('.ant-select-dropdown-menu').contains(labelName).click(); }); +Cypress.Commands.add('checkObjectParameters', (objectParameters, objectType) => { + cy.get('.cvat-objects-sidebar-state-item').then((objectSidebar) => { + cy.get(`#cvat_canvas_shape_${objectSidebar.length}`).should('exist').and('be.visible'); + cy.get(`#cvat-objects-sidebar-state-item-${objectSidebar.length}`) + .should('contain', objectSidebar.length).and('contain', `${objectType} ${objectParameters.type.toUpperCase()}`).within(() => { + cy.get('.ant-select-selection-selected-value').should('have.text', selectedValueGlobal); + }); + }); +}); + Cypress.Commands.add('createPoint', (createPointParams) => { cy.get('.cvat-draw-points-control').click(); if (createPointParams.switchLabel) { @@ -125,6 +141,9 @@ Cypress.Commands.add('createPoint', (createPointParams) => { cy.contains('Draw new points') .parents('.cvat-draw-shape-popover-content') .within(() => { + cy.get('.ant-select-selection-selected-value').then(($labelValue) => { + selectedValueGlobal = $labelValue.text(); + }); if (createPointParams.numberOfPoints) { createPointParams.complete = false; cy.get('.ant-input-number-input').clear().type(createPointParams.numberOfPoints); @@ -137,6 +156,7 @@ Cypress.Commands.add('createPoint', (createPointParams) => { if (createPointParams.complete) { cy.get('.cvat-canvas-container').trigger('keydown', { key: 'n' }).trigger('keyup', { key: 'n' }); } + cy.checkObjectParameters(createPointParams, 'POINTS'); }); Cypress.Commands.add('changeAppearance', (colorBy) => { @@ -165,6 +185,9 @@ Cypress.Commands.add('createPolygon', (createPolygonParams) => { cy.contains('Draw new polygon') .parents('.cvat-draw-shape-popover-content') .within(() => { + cy.get('.ant-select-selection-selected-value').then(($labelValue) => { + selectedValueGlobal = $labelValue.text(); + }); if (createPolygonParams.numberOfPoints) { createPolygonParams.complete = false; cy.get('.ant-input-number-input').clear().type(createPolygonParams.numberOfPoints); @@ -178,6 +201,7 @@ Cypress.Commands.add('createPolygon', (createPolygonParams) => { if (createPolygonParams.complete) { cy.get('.cvat-canvas-container').trigger('keydown', { key: 'n' }).trigger('keyup', { key: 'n' }); } + cy.checkObjectParameters(createPolygonParams, 'POLYGON'); }); Cypress.Commands.add('openSettings', () => { @@ -208,6 +232,9 @@ Cypress.Commands.add('createCuboid', (createCuboidParams) => { cy.contains('Draw new cuboid') .parents('.cvat-draw-shape-popover-content') .within(() => { + cy.get('.ant-select-selection-selected-value').then(($labelValue) => { + selectedValueGlobal = $labelValue.text(); + }); cy.get('button').contains(createCuboidParams.type).click({ force: true }); }); cy.get('.cvat-canvas-container').click(createCuboidParams.firstX, createCuboidParams.firstY); @@ -216,6 +243,7 @@ Cypress.Commands.add('createCuboid', (createCuboidParams) => { cy.get('.cvat-canvas-container').click(createCuboidParams.thirdX, createCuboidParams.thirdY); cy.get('.cvat-canvas-container').click(createCuboidParams.fourthX, createCuboidParams.fourthY); } + cy.checkObjectParameters(createCuboidParams, 'CUBOID'); }); Cypress.Commands.add('updateAttributes', (multiAttrParams) => { @@ -234,6 +262,9 @@ Cypress.Commands.add('createPolyline', (createPolylineParams) => { cy.contains('Draw new polyline') .parents('.cvat-draw-shape-popover-content') .within(() => { + cy.get('.ant-select-selection-selected-value').then(($labelValue) => { + selectedValueGlobal = $labelValue.text(); + }); if (createPolylineParams.numberOfPoints) { createPolylineParams.complete = false; cy.get('.ant-input-number-input').clear().type(createPolylineParams.numberOfPoints); @@ -246,6 +277,7 @@ Cypress.Commands.add('createPolyline', (createPolylineParams) => { if (createPolylineParams.complete) { cy.get('.cvat-canvas-container').trigger('keydown', { key: 'n' }).trigger('keyup', { key: 'n' }); } + cy.checkObjectParameters(createPolylineParams, 'POLYLINE'); }); Cypress.Commands.add('getTaskID', (taskName) => { From 7df9c4cf1cbd6f823d60931cefe7d365002ffd4c Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Wed, 28 Oct 2020 02:41:06 +0000 Subject: [PATCH 4/8] fix: upgrade @types/react-router-dom from 5.1.5 to 5.1.6 Snyk has created this PR to upgrade @types/react-router-dom from 5.1.5 to 5.1.6. See this package in npm: https://www.npmjs.com/package/@types/react-router-dom See this project in Snyk: https://app.snyk.io/org/cvat/project/c1f463ee-3776-44c4-b0fa-cd2254d0a094?utm_source=github&utm_medium=upgrade-pr --- cvat-ui/package-lock.json | 6 +++--- cvat-ui/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cvat-ui/package-lock.json b/cvat-ui/package-lock.json index 4ed13697..5b33bb5a 100644 --- a/cvat-ui/package-lock.json +++ b/cvat-ui/package-lock.json @@ -1254,9 +1254,9 @@ } }, "@types/react-router-dom": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.5.tgz", - "integrity": "sha512-ArBM4B1g3BWLGbaGvwBGO75GNFbLDUthrDojV2vHLih/Tq8M+tgvY1DSwkuNrPSwdp/GUL93WSEpTZs8nVyJLw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.6.tgz", + "integrity": "sha512-gjrxYqxz37zWEdMVvQtWPFMFj1dRDb4TGOcgyOfSXTrEXdF92L00WE3C471O3TV/RF1oskcStkXsOU0Ete4s/g==", "requires": { "@types/history": "*", "@types/react": "*", diff --git a/cvat-ui/package.json b/cvat-ui/package.json index 432c439d..f808b3b5 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -53,7 +53,7 @@ "@types/react-dom": "^16.9.0", "@types/react-redux": "^7.1.2", "@types/react-router": "^5.0.5", - "@types/react-router-dom": "^5.1.0", + "@types/react-router-dom": "^5.1.6", "@types/react-share": "^3.0.3", "@types/redux-logger": "^3.0.8", "antd": "^3.26.18", From 9c07dbfd7e76f321eb158361cc81355363092f05 Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Wed, 28 Oct 2020 12:45:08 +0300 Subject: [PATCH 5/8] Additional CSS classes in CVAT to cypress testing (#2366) --- .../objects-side-bar/object-item-buttons.tsx | 157 ++++++++++++++---- 1 file changed, 127 insertions(+), 30 deletions(-) diff --git a/cvat-ui/src/components/annotation-page/standard-workspace/objects-side-bar/object-item-buttons.tsx b/cvat-ui/src/components/annotation-page/standard-workspace/objects-side-bar/object-item-buttons.tsx index 4324efbb..dbb13d24 100644 --- a/cvat-ui/src/components/annotation-page/standard-workspace/objects-side-bar/object-item-buttons.tsx +++ b/cvat-ui/src/components/annotation-page/standard-workspace/objects-side-bar/object-item-buttons.tsx @@ -7,7 +7,9 @@ import { Row, Col } from 'antd/lib/grid'; import Icon from 'antd/lib/icon'; import Tooltip from 'antd/lib/tooltip'; -import { ObjectOutsideIcon, FirstIcon, LastIcon, PreviousIcon, NextIcon } from 'icons'; +import { + ObjectOutsideIcon, FirstIcon, LastIcon, PreviousIcon, NextIcon, +} from 'icons'; import { ObjectType, ShapeType } from 'reducers/interfaces'; interface Props { @@ -93,6 +95,37 @@ function ItemButtonsComponent(props: Props): JSX.Element { const hiddenStyle = hiddenDisabled ? { opacity: 0.5, pointerEvents: 'none' as const } : {}; const keyframeStyle = keyframeDisabled ? { opacity: 0.5, pointerEvents: 'none' as const } : {}; + const classes = { + firstKeyFrame: { className: 'cvat-object-item-button-first-keyframe' }, + prevKeyFrame: { className: 'cvat-object-item-button-prev-keyframe' }, + nextKeyFrame: { className: 'cvat-object-item-button-next-keyframe' }, + lastKeyFrame: { className: 'cvat-object-item-button-last-keyframe' }, + outside: { + enabled: { className: 'cvat-object-item-button-outside cvat-object-item-button-outside-enabled' }, + disabled: { className: 'cvat-object-item-button-outside' }, + }, + lock: { + enabled: { className: 'cvat-object-item-button-lock cvat-object-item-button-lock-enabled' }, + disabled: { className: 'cvat-object-item-button-lock' }, + }, + occluded: { + enabled: { className: 'cvat-object-item-button-occluded cvat-object-item-button-occluded-enabled' }, + disabled: { className: 'cvat-object-item-button-occluded' }, + }, + pinned: { + enabled: { className: 'cvat-object-item-button-pinned cvat-object-item-button-pinned-enabled' }, + disabled: { className: 'cvat-object-item-button-pinned' }, + }, + hidden: { + enabled: { className: 'cvat-object-item-button-hidden cvat-object-item-button-hidden-enabled' }, + disabled: { className: 'cvat-object-item-button-hidden' }, + }, + keyframe: { + enabled: { className: 'cvat-object-item-button-keyframe cvat-object-item-button-keyframe-enabled' }, + disabled: { className: 'cvat-object-item-button-keyframe' }, + }, + }; + if (objectType === ObjectType.TRACK) { return ( @@ -100,34 +133,62 @@ function ItemButtonsComponent(props: Props): JSX.Element { {navigateFirstKeyframe ? ( - + ) : ( - + )} {navigatePrevKeyframe ? ( - + ) : ( - + )} {navigateNextKeyframe ? ( - + ) : ( - + )} {navigateLastKeyframe ? ( - + ) : ( - + )} @@ -135,45 +196,72 @@ function ItemButtonsComponent(props: Props): JSX.Element { {outside ? ( - + ) : ( - + )} {locked ? ( - + ) : ( - + )} {occluded ? ( - + ) : ( - + )} {keyframe ? ( - + ) : ( - + )} @@ -181,9 +269,14 @@ function ItemButtonsComponent(props: Props): JSX.Element { {pinned ? ( - + ) : ( - + )} @@ -202,9 +295,9 @@ function ItemButtonsComponent(props: Props): JSX.Element { {locked ? ( - + ) : ( - + )} @@ -221,33 +314,37 @@ function ItemButtonsComponent(props: Props): JSX.Element { {locked ? ( - + ) : ( - + )} {occluded ? ( - + ) : ( - + )} {shapeType !== ShapeType.POINTS && ( {pinned ? ( - + ) : ( - + )} From b2eb45e961b041c5479e105b7e6dc5a376491090 Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Wed, 28 Oct 2020 12:45:49 +0300 Subject: [PATCH 6/8] Updated sass (#2367) --- cvat-canvas/package-lock.json | 304 +++++----------------------- cvat-canvas/package.json | 2 +- cvat-ui/package-lock.json | 359 +++++++--------------------------- cvat-ui/package.json | 2 +- 4 files changed, 119 insertions(+), 548 deletions(-) diff --git a/cvat-canvas/package-lock.json b/cvat-canvas/package-lock.json index 729f2e53..8fed7d27 100644 --- a/cvat-canvas/package-lock.json +++ b/cvat-canvas/package-lock.json @@ -1824,9 +1824,9 @@ "dev": true }, "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", "dev": true }, "babel-loader": { @@ -4950,12 +4950,6 @@ "globule": "^1.0.0" } }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, "get-stdin": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", @@ -5093,13 +5087,13 @@ } }, "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.12", + "lodash": "~4.17.10", "minimatch": "~3.0.2" } }, @@ -5149,13 +5143,33 @@ "dev": true }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "ajv": "^6.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + } } }, "has": { @@ -5481,9 +5495,9 @@ "dev": true }, "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", "dev": true }, "indent-string": { @@ -5951,9 +5965,9 @@ "dev": true }, "js-base64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", - "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", "dev": true }, "js-levenshtein": { @@ -6732,9 +6746,9 @@ } }, "node-sass": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", - "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -6751,7 +6765,7 @@ "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", - "sass-graph": "^2.2.4", + "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, @@ -8135,9 +8149,9 @@ "dev": true }, "psl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", - "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "pstree.remy": { @@ -8624,12 +8638,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -8779,199 +8787,15 @@ "dev": true }, "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", "dev": true, "requires": { "glob": "^7.0.0", "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } + "yargs": "^13.3.2" } }, "sass-loader": { @@ -11187,38 +11011,6 @@ "errno": "~0.1.7" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/cvat-canvas/package.json b/cvat-canvas/package.json index a41a5f11..d509f493 100644 --- a/cvat-canvas/package.json +++ b/cvat-canvas/package.json @@ -33,7 +33,7 @@ "eslint-config-airbnb-typescript": "^4.0.1", "eslint-config-typescript-recommended": "^1.4.17", "eslint-plugin-import": "^2.18.2", - "node-sass": "^4.13.1", + "node-sass": "^4.14.1", "nodemon": "^1.19.4", "postcss-loader": "^3.0.0", "postcss-preset-env": "^6.7.0", diff --git a/cvat-ui/package-lock.json b/cvat-ui/package-lock.json index 4ed13697..4da6ce78 100644 --- a/cvat-ui/package-lock.json +++ b/cvat-ui/package-lock.json @@ -2598,9 +2598,9 @@ "dev": true }, "aws4": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", - "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", "dev": true }, "axe-core": { @@ -24558,28 +24558,6 @@ "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wide-align": "^1.1.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } } }, "gaze": { @@ -24725,13 +24703,13 @@ } }, "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.12", + "lodash": "~4.17.10", "minimatch": "~3.0.2" } }, @@ -24764,13 +24742,33 @@ "dev": true }, "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "ajv": "^6.5.5", + "ajv": "^6.12.3", "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + } } }, "has": { @@ -25223,9 +25221,9 @@ "dev": true }, "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", "dev": true }, "indent-string": { @@ -25720,9 +25718,9 @@ "dev": true }, "js-base64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", - "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", "dev": true }, "js-levenshtein": { @@ -26668,9 +26666,9 @@ } }, "node-sass": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", - "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -26687,7 +26685,7 @@ "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", - "sass-graph": "^2.2.4", + "sass-graph": "2.2.5", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" }, @@ -28229,9 +28227,9 @@ "dev": true }, "psl": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz", - "integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "public-encrypt": { @@ -29430,9 +29428,9 @@ } }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -29442,7 +29440,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -29452,7 +29450,7 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, @@ -29628,221 +29626,15 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", "dev": true, "requires": { "glob": "^7.0.0", "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } + "yargs": "^13.3.2" } }, "sass-loader": { @@ -30757,28 +30549,23 @@ "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "number-is-nan": "^1.0.0" } } } @@ -31483,21 +31270,13 @@ "dev": true }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "trim-newlines": { diff --git a/cvat-ui/package.json b/cvat-ui/package.json index 432c439d..8b722bcd 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -33,7 +33,7 @@ "eslint-plugin-react": "^7.21.5", "eslint-plugin-react-hooks": "^4.2.0", "html-webpack-plugin": "^3.2.0", - "node-sass": "^4.13.0", + "node-sass": "^4.14.1", "postcss-loader": "^3.0.0", "postcss-preset-env": "^6.7.0", "react-svg-loader": "^3.0.3", From 856003eba469324964ae773cbcb0c1e20e4ccbb8 Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Wed, 28 Oct 2020 13:12:38 +0300 Subject: [PATCH 7/8] Updated internal links in the tool --- cvat-ui/.eslintrc.js | 2 +- cvat-ui/src/consts.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cvat-ui/.eslintrc.js b/cvat-ui/.eslintrc.js index 07afdef1..69937915 100644 --- a/cvat-ui/.eslintrc.js +++ b/cvat-ui/.eslintrc.js @@ -33,7 +33,7 @@ module.exports = { 'lines-between-class-members': 0, 'react/no-did-update-set-state': 0, // https://github.com/airbnb/javascript/issues/1875 quotes: ['error', 'single'], - 'max-len': ['error', { code: 120 }], + 'max-len': ['error', { code: 120, ignoreStrings: true }], 'func-names': ['warn', 'never'], 'operator-linebreak': ['error', 'after'], 'react/require-default-props': 'off', diff --git a/cvat-ui/src/consts.ts b/cvat-ui/src/consts.ts index 2128ba3f..3a54116a 100644 --- a/cvat-ui/src/consts.ts +++ b/cvat-ui/src/consts.ts @@ -4,18 +4,18 @@ const UNDEFINED_ATTRIBUTE_VALUE = '__undefined__'; const NO_BREAK_SPACE = '\u00a0'; -const CHANGELOG_URL = 'https://github.com/opencv/cvat/blob/develop/CHANGELOG.md'; -const LICENSE_URL = 'https://github.com/opencv/cvat/blob/develop/LICENSE'; +const CHANGELOG_URL = 'https://github.com/openvinotoolkit/cvat/blob/develop/CHANGELOG.md'; +const LICENSE_URL = 'https://github.com/openvinotoolkit/cvat/blob/develop/LICENSE'; const GITTER_URL = 'https://gitter.im/opencv-cvat'; const GITTER_PUBLIC_URL = 'https://gitter.im/opencv-cvat/public'; const FORUM_URL = 'https://software.intel.com/en-us/forums/intel-distribution-of-openvino-toolkit'; -const GITHUB_URL = 'https://github.com/opencv/cvat'; +const GITHUB_URL = 'https://github.com/openvinotoolkit/cvat'; const GITHUB_IMAGE_URL = - 'https://raw.githubusercontent.com/opencv/cvat/develop/cvat/apps/documentation/static/documentation/images/cvat.jpg'; + 'https://raw.githubusercontent.com/openvinotoolkit/cvat/develop/cvat/apps/documentation/static/documentation/images/cvat.jpg'; const SHARE_MOUNT_GUIDE_URL = - 'https://github.com/opencv/cvat/blob/master/cvat/apps/documentation/installation.md#share-path'; + 'https://github.com/openvinotoolkit/cvat/blob/master/cvat/apps/documentation/installation.md#share-path'; const NUCLIO_GUIDE = - 'https://github.com/opencv/cvat/blob/develop/cvat/apps/documentation/installation.md#semi-automatic-and-automatic-annotation'; + 'https://github.com/openvinotoolkit/cvat/blob/develop/cvat/apps/documentation/installation.md#semi-automatic-and-automatic-annotation'; const CANVAS_BACKGROUND_COLORS = ['#ffffff', '#f1f1f1', '#e5e5e5', '#d8d8d8', '#CCCCCC', '#B3B3B3', '#999999']; const NEW_LABEL_COLOR = '#b3b3b3'; From fc28c532e757a7c472098d9638109c2a90151727 Mon Sep 17 00:00:00 2001 From: Snyk bot Date: Wed, 28 Oct 2020 12:51:10 +0200 Subject: [PATCH 8/8] fix: upgrade moment from 2.29.0 to 2.29.1 (#2364) Snyk has created this PR to upgrade moment from 2.29.0 to 2.29.1. See this package in npm: https://www.npmjs.com/package/moment See this project in Snyk: https://app.snyk.io/org/cvat/project/c1f463ee-3776-44c4-b0fa-cd2254d0a094?utm_source=github&utm_medium=upgrade-pr --- cvat-ui/package-lock.json | 6 +++--- cvat-ui/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cvat-ui/package-lock.json b/cvat-ui/package-lock.json index 4da6ce78..cad6ad55 100644 --- a/cvat-ui/package-lock.json +++ b/cvat-ui/package-lock.json @@ -26431,9 +26431,9 @@ } }, "moment": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.0.tgz", - "integrity": "sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==" + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "move-concurrently": { "version": "1.0.1", diff --git a/cvat-ui/package.json b/cvat-ui/package.json index 8b722bcd..8eff093b 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -62,7 +62,7 @@ "cvat-core": "file:../cvat-core", "dotenv-webpack": "^1.8.0", "error-stack-parser": "^2.0.6", - "moment": "^2.29.0", + "moment": "^2.29.1", "platform": "^1.3.6", "prop-types": "^15.7.2", "react": "^16.13.1",