From 0ba8779491d8ec1ce4fa1d277aa418bd40cbaf9c Mon Sep 17 00:00:00 2001 From: Priyanshu Sharma Date: Mon, 18 Sep 2023 07:49:58 +0530 Subject: [PATCH] Fix linting warnings for no-unused-vars, no-var-requires (#1800) ## Which problem is this PR solving? - Resolves: https://github.com/jaegertracing/jaeger-ui/issues/1608 ## Description of the changes - I fixed eslint warnings in our codebase, which we are got after running yarn lint. This improves code quality, consistency, and reduces technical debt. ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: priyanshu-kun Signed-off-by: Priyanshu Sharma Signed-off-by: Yuri Shkuro Co-authored-by: Yuri Shkuro Co-authored-by: Yuri Shkuro --- .../Monitor/ServicesView/index.test.js | 2 +- .../components/QualityMetrics/index.test.js | 2 ++ .../components/SearchTracePage/FileLoader.tsx | 4 +++- .../components/SearchTracePage/index.test.js | 11 ++-------- .../components/SearchTracePage/url.test.js | 2 +- .../TraceDiffGraph/TraceDiffGraph.test.js | 1 + .../TracePage/CriticalPath/index.tsx | 1 + .../TracePage/CriticalPath/testCases/test3.js | 2 +- .../TracePage/TraceFlamegraph/index.test.js | 2 +- .../TracePage/TraceGraph/TraceGraph.test.js | 2 +- .../TraceGraph/calculateTraceDagEV.test.js | 2 +- .../TracePage/TraceSpanView/index.test.js | 2 +- .../TraceStatistics/generateColor.test.js | 2 +- .../generateDropdownValue.test.js | 2 +- .../TracePage/TraceStatistics/index.test.js | 2 +- .../TraceStatistics/tableValues.test.js | 22 +++++++++---------- .../TracePage/TraceTimelineViewer/SpanBar.tsx | 3 ++- .../src/components/TracePage/index.tsx | 2 +- .../src/components/common/UiFindInput.test.js | 2 +- packages/jaeger-ui/src/reducers/ddg.test.js | 2 ++ packages/jaeger-ui/src/utils/TreeNode.tsx | 8 +++---- scripts/generateDepcheckrcJaegerUI.js | 1 + scripts/generateDepcheckrcPlexus.js | 1 + scripts/get-changelog.js | 1 + scripts/get-tracking-version.js | 1 + 25 files changed, 44 insertions(+), 38 deletions(-) diff --git a/packages/jaeger-ui/src/components/Monitor/ServicesView/index.test.js b/packages/jaeger-ui/src/components/Monitor/ServicesView/index.test.js index 1321b7299c..0442148dde 100644 --- a/packages/jaeger-ui/src/components/Monitor/ServicesView/index.test.js +++ b/packages/jaeger-ui/src/components/Monitor/ServicesView/index.test.js @@ -322,7 +322,7 @@ describe('', () => { }); describe(' on page switch', () => { - // eslint-disable-next-line no-unused-vars + /* eslint-disable @typescript-eslint/no-unused-vars */ let wrapper; const stateOnPageSwitch = { services: { diff --git a/packages/jaeger-ui/src/components/QualityMetrics/index.test.js b/packages/jaeger-ui/src/components/QualityMetrics/index.test.js index 45a57e7344..7d50732790 100644 --- a/packages/jaeger-ui/src/components/QualityMetrics/index.test.js +++ b/packages/jaeger-ui/src/components/QualityMetrics/index.test.js @@ -31,6 +31,8 @@ describe('QualityMetrics', () => { service: 'test-service', services: ['foo', 'bar', 'baz'], }; + + /* eslint-disable @typescript-eslint/no-unused-vars */ const { service: _s, ...propsWithoutService } = props; let fetchQualityMetricsSpy; let promise; diff --git a/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx b/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx index 2cc0bdbd3f..5eb724299a 100644 --- a/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx +++ b/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx @@ -26,7 +26,9 @@ export default function FileLoader(props: FileLoaderProps) { return ( fileList.forEach(file => props.loadJsonTraces({ file }))} + beforeUpload={(file, fileList) => + fileList.forEach(fileFromList => props.loadJsonTraces({ file: fileFromList })) + } multiple >

diff --git a/packages/jaeger-ui/src/components/SearchTracePage/index.test.js b/packages/jaeger-ui/src/components/SearchTracePage/index.test.js index 99da3d326e..e404fd4f6f 100644 --- a/packages/jaeger-ui/src/components/SearchTracePage/index.test.js +++ b/packages/jaeger-ui/src/components/SearchTracePage/index.test.js @@ -206,15 +206,8 @@ describe('mapStateToProps()', () => { }, }; - const { - maxTraceDuration, - traceResults, - traceResultsToDownload, - diffCohort, - numberOfTraceResults, - location, - ...rest - } = mapStateToProps(state); + const { maxTraceDuration, traceResults, traceResultsToDownload, diffCohort, ...rest } = + mapStateToProps(state); expect(traceResults).toHaveLength(stateTrace.search.results.length); expect(traceResults[0].traceID).toBe(trace.traceID); expect(traceResultsToDownload[0].traceID).toBe(trace.traceID); diff --git a/packages/jaeger-ui/src/components/SearchTracePage/url.test.js b/packages/jaeger-ui/src/components/SearchTracePage/url.test.js index ccacc155d9..8e2aec9e61 100644 --- a/packages/jaeger-ui/src/components/SearchTracePage/url.test.js +++ b/packages/jaeger-ui/src/components/SearchTracePage/url.test.js @@ -242,9 +242,9 @@ describe('SearchTracePage/url', () => { expect(isSameQuery(baseQuery)).toBe(false); }); + /* eslint-disable @typescript-eslint/no-unused-vars */ it('returns `false` if a considered key is changed or omitted', () => { queryKeys.forEach(key => { - // eslint-disable-next-line camelcase const { [key]: _omitted, ...rest } = baseQuery; expect(isSameQuery(baseQuery, rest)).toBe(false); expect(isSameQuery(baseQuery, { ...rest, [key]: 'changed' })).toBe(false); diff --git a/packages/jaeger-ui/src/components/TraceDiff/TraceDiffGraph/TraceDiffGraph.test.js b/packages/jaeger-ui/src/components/TraceDiff/TraceDiffGraph/TraceDiffGraph.test.js index 9e27438aa7..cf1f2ffe8d 100644 --- a/packages/jaeger-ui/src/components/TraceDiff/TraceDiffGraph/TraceDiffGraph.test.js +++ b/packages/jaeger-ui/src/components/TraceDiff/TraceDiffGraph/TraceDiffGraph.test.js @@ -130,6 +130,7 @@ describe('TraceDiffGraph', () => { it('renders an empty div when a or b lack data', () => { expect(wrapper.children().length).not.toBe(0); + /* eslint-disable @typescript-eslint/no-unused-vars */ const { data: unusedAData, ...aWithoutData } = props.a; wrapper.setProps({ a: aWithoutData }); expect(wrapper.children().length).toBe(0); diff --git a/packages/jaeger-ui/src/components/TracePage/CriticalPath/index.tsx b/packages/jaeger-ui/src/components/TracePage/CriticalPath/index.tsx index b574eb583e..cd3b7146b2 100644 --- a/packages/jaeger-ui/src/components/TracePage/CriticalPath/index.tsx +++ b/packages/jaeger-ui/src/components/TracePage/CriticalPath/index.tsx @@ -98,6 +98,7 @@ function criticalPathForTrace(trace: Trace) { const sanitizedSpanMap = sanitizeOverFlowingChildren(refinedSpanMap); criticalPath = computeCriticalPath(sanitizedSpanMap, rootSpanId, criticalPath); } catch (error) { + /* eslint-disable no-console */ console.log('error while computing critical path for a trace', error); } } diff --git a/packages/jaeger-ui/src/components/TracePage/CriticalPath/testCases/test3.js b/packages/jaeger-ui/src/components/TracePage/CriticalPath/testCases/test3.js index 22ab816a1f..7e38b849a0 100644 --- a/packages/jaeger-ui/src/components/TracePage/CriticalPath/testCases/test3.js +++ b/packages/jaeger-ui/src/components/TracePage/CriticalPath/testCases/test3.js @@ -27,7 +27,7 @@ Span B will be dropped. | span A is on critical path(+++++) | */ -const trace = require('../../TraceStatistics/tableValuesTestTrace/traceWithSingleChildSpanLongerThanParent.json'); +import trace from '../../TraceStatistics/tableValuesTestTrace/traceWithSingleChildSpanLongerThanParent.json'; const transformedTrace = transformTraceData(trace); const traceStart = 1679437737490189; diff --git a/packages/jaeger-ui/src/components/TracePage/TraceFlamegraph/index.test.js b/packages/jaeger-ui/src/components/TracePage/TraceFlamegraph/index.test.js index 41ddcf8ef4..97971043a4 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceFlamegraph/index.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceFlamegraph/index.test.js @@ -18,7 +18,7 @@ import { convertJaegerTraceToProfile } from '@pyroscope/flamegraph'; import TraceFlamegraph from './index'; -const testTrace = require('./testTrace.json'); +import testTrace from './testTrace.json'; const profile = convertJaegerTraceToProfile(testTrace.data); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceGraph/TraceGraph.test.js b/packages/jaeger-ui/src/components/TracePage/TraceGraph/TraceGraph.test.js index e92f86ab5f..c7a6e2985a 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceGraph/TraceGraph.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceGraph/TraceGraph.test.js @@ -20,7 +20,7 @@ import calculateTraceDagEV from './calculateTraceDagEV'; import TraceGraph, { setOnEdgePath } from './TraceGraph'; import { MODE_SERVICE, MODE_TIME, MODE_SELFTIME } from './OpNode'; -const testTrace = require('./testTrace.json'); +import testTrace from './testTrace.json'; const transformedTrace = transformTraceData(testTrace); const ev = calculateTraceDagEV(transformedTrace); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceGraph/calculateTraceDagEV.test.js b/packages/jaeger-ui/src/components/TracePage/TraceGraph/calculateTraceDagEV.test.js index 5663ff51d4..aee2e2de1e 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceGraph/calculateTraceDagEV.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceGraph/calculateTraceDagEV.test.js @@ -15,7 +15,7 @@ import transformTraceData from '../../../model/transform-trace-data'; import calculateTraceDagEV from './calculateTraceDagEV'; -const testTrace = require('./testTrace.json'); +import testTrace from './testTrace.json'; const transformedTrace = transformTraceData(testTrace); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceSpanView/index.test.js b/packages/jaeger-ui/src/components/TracePage/TraceSpanView/index.test.js index c8cf1db157..37be2ad2da 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceSpanView/index.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceSpanView/index.test.js @@ -17,7 +17,7 @@ import { mount, shallow } from 'enzyme'; import TraceSpanView from './index'; import transformTraceData from '../../../model/transform-trace-data'; -const testTrace = require('../TraceStatistics/tableValuesTestTrace/testTrace.json'); +import testTrace from '../TraceStatistics/tableValuesTestTrace/testTrace.json'; const transformedTrace = transformTraceData(testTrace); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateColor.test.js b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateColor.test.js index 238cd07a6a..937b49d431 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateColor.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateColor.test.js @@ -16,7 +16,7 @@ import generateColor from './generateColor'; import transformTraceData from '../../../model/transform-trace-data'; import { getColumnValuesSecondDropdown, getColumnValues } from './tableValues'; -const testTrace = require('./tableValuesTestTrace/testTrace.json'); +import testTrace from './tableValuesTestTrace/testTrace.json'; const transformedTrace = transformTraceData(testTrace); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateDropdownValue.test.js b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateDropdownValue.test.js index 1db5dc3fe7..15e04a88f2 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateDropdownValue.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/generateDropdownValue.test.js @@ -16,7 +16,7 @@ import { generateDropdownValue, generateSecondDropdownValue } from './generateDr import transformTraceData from '../../../model/transform-trace-data'; import { getColumnValues } from './tableValues'; -const testTrace = require('./tableValuesTestTrace/testTrace.json'); +import testTrace from './tableValuesTestTrace/testTrace.json'; const transformedTrace = transformTraceData(testTrace); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/index.test.js b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/index.test.js index cd49d18a8a..9f6a746f9b 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/index.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/index.test.js @@ -20,7 +20,7 @@ import PopupSql from './PopupSql'; import transformTraceData from '../../../model/transform-trace-data'; import { getColumnValues, getColumnValuesSecondDropdown } from './tableValues'; -const testTrace = require('./tableValuesTestTrace/testTrace.json'); +import testTrace from './tableValuesTestTrace/testTrace.json'; const transformedTrace = transformTraceData(testTrace); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/tableValues.test.js b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/tableValues.test.js index d65baaa0b3..7c60468cd6 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceStatistics/tableValues.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceStatistics/tableValues.test.js @@ -15,17 +15,17 @@ import transformTraceData from '../../../model/transform-trace-data'; import { getColumnValues, getColumnValuesSecondDropdown } from './tableValues'; -const testTraceNormal = require('./tableValuesTestTrace/testTraceNormal.json'); -const traceSpanAmongEachOther = require('./tableValuesTestTrace/spansAmongEachOther.json'); -const traceSpanAmongEachOtherGrouped = require('./tableValuesTestTrace/spansAmongEachOtherGrouped.json'); -const traceSpanAmongEachOtherGroupedAndSpans = require('./tableValuesTestTrace/spanAmongEachOtherGroupedAndSpans.json'); -const traceSpanLongerAsParent = require('./tableValuesTestTrace/spanLongerAsParent.json'); -const traceWithOverlappingChildrenLongerThanParent = require('./tableValuesTestTrace/traceWithOverlappingChildrenLongerThanParent.json'); -const traceWithTwoNonOverlappingChildren = require('./tableValuesTestTrace/traceWithTwoNonOverlappingChildren.json'); -const traceWithOverlappingChildren = require('./tableValuesTestTrace/traceWithOverlappingChildren.json'); -const traceWithSingleChildSpanLongerThanParent = require('./tableValuesTestTrace/traceWithSingleChildSpanLongerThanParent.json'); -const traceWithThreeShortChildren = require('./tableValuesTestTrace/traceWithThreeShortChildren.json'); -const traceWithTwoChildrenStartedAtTraceStart = require('./tableValuesTestTrace/traceWithTwoChildrenStartedAtTraceStart.json'); +import testTraceNormal from './tableValuesTestTrace/testTraceNormal.json'; +import traceSpanAmongEachOther from './tableValuesTestTrace/spansAmongEachOther.json'; +import traceSpanAmongEachOtherGrouped from './tableValuesTestTrace/spansAmongEachOtherGrouped.json'; +import traceSpanAmongEachOtherGroupedAndSpans from './tableValuesTestTrace/spanAmongEachOtherGroupedAndSpans.json'; +import traceSpanLongerAsParent from './tableValuesTestTrace/spanLongerAsParent.json'; +import traceWithOverlappingChildrenLongerThanParent from './tableValuesTestTrace/traceWithOverlappingChildrenLongerThanParent.json'; +import traceWithTwoNonOverlappingChildren from './tableValuesTestTrace/traceWithTwoNonOverlappingChildren.json'; +import traceWithOverlappingChildren from './tableValuesTestTrace/traceWithOverlappingChildren.json'; +import traceWithSingleChildSpanLongerThanParent from './tableValuesTestTrace/traceWithSingleChildSpanLongerThanParent.json'; +import traceWithThreeShortChildren from './tableValuesTestTrace/traceWithThreeShortChildren.json'; +import traceWithTwoChildrenStartedAtTraceStart from './tableValuesTestTrace/traceWithTwoChildrenStartedAtTraceStart.json'; const transformedTrace = transformTraceData(testTraceNormal); const transformedTraceSpanAmongEachOthe = transformTraceData(traceSpanAmongEachOther); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBar.tsx b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBar.tsx index 9e27244747..5d08301040 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBar.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanBar.tsx @@ -144,9 +144,10 @@ function SpanBar(props: TCommonProps) { const critcalPathViewBounds = getViewedBounds(each.section_start, each.section_end); const criticalPathViewStart = critcalPathViewBounds.start; const criticalPathViewEnd = critcalPathViewBounds.end; + const key = `${each.spanId}-${index}`; return (

{ state: fetchedState.DONE, viewModifiers: new Map(), }; + + /* eslint-disable @typescript-eslint/no-unused-vars */ const { operation: _op, ...emphasizedPayloadWithoutOp } = emphasizedPayload; const newState = addViewModifier(operationlessDoneState, emphasizedPayloadWithoutOp); const expected = _cloneDeep(operationlessDoneState); diff --git a/packages/jaeger-ui/src/utils/TreeNode.tsx b/packages/jaeger-ui/src/utils/TreeNode.tsx index d99ecf47fd..39e2727297 100644 --- a/packages/jaeger-ui/src/utils/TreeNode.tsx +++ b/packages/jaeger-ui/src/utils/TreeNode.tsx @@ -10,13 +10,13 @@ // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and -// limitations under the License. +// limitations under the License export default class TreeNode { value: TValue; children: Array>; - static iterFunction(fn: Function, depth = 0) { + static iterFunction(fn: (value: TValue, node: TreeNode, depth: number) => any, depth = 0) { return (node: TreeNode) => fn(node.value, node, depth); } @@ -89,7 +89,7 @@ export default class TreeNode { return findPath(this, []); } - walk(fn: Function, startDepth = 0) { + walk(fn: (spanID: TValue, node: TreeNode, depth: number) => void, startDepth = 0) { type StackEntry = { node: TreeNode; depth: number; @@ -111,7 +111,7 @@ export default class TreeNode { } } - paths(fn: Function) { + paths(fn: (pathIds: TValue[]) => void) { type StackEntry = { node: TreeNode; childIndex: number; diff --git a/scripts/generateDepcheckrcJaegerUI.js b/scripts/generateDepcheckrcJaegerUI.js index 2fabae28c6..14b6817185 100644 --- a/scripts/generateDepcheckrcJaegerUI.js +++ b/scripts/generateDepcheckrcJaegerUI.js @@ -13,6 +13,7 @@ // limitations under the License. /* eslint-disable import/no-extraneous-dependencies */ +/* eslint-disable @typescript-eslint/no-var-requires */ const fs = require('fs'); const path = require('path'); const { babelConfiguration } = require('../packages/jaeger-ui/test/babel-transform'); diff --git a/scripts/generateDepcheckrcPlexus.js b/scripts/generateDepcheckrcPlexus.js index 61b6fdb937..268f46713d 100644 --- a/scripts/generateDepcheckrcPlexus.js +++ b/scripts/generateDepcheckrcPlexus.js @@ -13,6 +13,7 @@ // limitations under the License. /* eslint-disable import/no-extraneous-dependencies */ +/* eslint-disable @typescript-eslint/no-var-requires */ const fs = require('fs'); const path = require('path'); const getBabelConfig = require('../packages/plexus/babel.config'); diff --git a/scripts/get-changelog.js b/scripts/get-changelog.js index f67ea6e3a9..177d5c2121 100755 --- a/scripts/get-changelog.js +++ b/scripts/get-changelog.js @@ -16,6 +16,7 @@ // This code will generate changelog entries +/* eslint-disable @typescript-eslint/no-var-requires */ const { readFile } = require('fs').promises; // eslint-disable-next-line import/no-extraneous-dependencies const jsdom = require('jsdom'); diff --git a/scripts/get-tracking-version.js b/scripts/get-tracking-version.js index 923415c4aa..0e5d188686 100755 --- a/scripts/get-tracking-version.js +++ b/scripts/get-tracking-version.js @@ -16,6 +16,7 @@ // See the comment on `getVersion(..)` for details on what this script does. +/* eslint-disable @typescript-eslint/no-var-requires */ const spawnSync = require('child_process').spawnSync; const version = require('../package.json').version;