aws / amazon-chime-sdk-js
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 7% duplication:
    • 28,832 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,099 duplicated lines
  • 749 duplicates
system7% (2,099 lines)
Duplication per Extension
js11% (1,369 lines)
ts4% (730 lines)
Duplication per Component (primary)
integration/js12% (656 lines)
src/signalingprotocol9% (506 lines)
libs/voicefocus17% (158 lines)
src/realtimecontroller24% (126 lines)
src/task6% (118 lines)
src/audiovideocontroller6% (66 lines)
src/clientmetricreport9% (56 lines)
src/backgroundblurprocessor21% (51 lines)
src/videotilecontroller24% (50 lines)
script7% (49 lines)
src/meetingreadinesschecker8% (38 lines)
src/logger13% (30 lines)
src/videoframeprocessor9% (28 lines)
src/devicecontroller1% (22 lines)
src/audiovideofacade6% (20 lines)
src/backgroundfilter3% (16 lines)
src/mediadevicefactory15% (16 lines)
src/sigv413% (16 lines)
src/videotile5% (16 lines)
src/voicefocus3% (14 lines)
src/meetingsession2% (14 lines)
src/backgroundreplacementprocessor8% (13 lines)
src/eventbuffer3% (12 lines)
src/contentsharecontroller3% (8 lines)
src/attendee0% (0 lines)
src/mediastreambroker0% (0 lines)
src/applicationmetadata0% (0 lines)
src/videodownlinkbandwidthpolicy0% (0 lines)
src/modelspec0% (0 lines)
src/taskcanceler0% (0 lines)
src/pingpongobserver0% (0 lines)
src/devicepixelratiomonitor0% (0 lines)
src/signalingclientobserver0% (0 lines)
src/devicepixelratiosource0% (0 lines)
src/activespeakerpolicy0% (0 lines)
src/contentshareobserver0% (0 lines)
src/connectionhealthpolicy0% (0 lines)
src/audiovideoobserver0% (0 lines)
src/useragentparser0% (0 lines)
src/simulcastlayers0% (0 lines)
src0% (0 lines)
src/activespeakerdetector0% (0 lines)
src/cspmonitor0% (0 lines)
src/browserbehavior0% (0 lines)
src/sdp0% (0 lines)
src/sessionstatecontroller0% (0 lines)
src/devicechangeobserver0% (0 lines)
src/videouplinkbandwidthpolicy0% (0 lines)
src/videoelementfactory0% (0 lines)
src/eventingestionconfiguration0% (0 lines)
src/videostreamindex0% (0 lines)
src/websocketadapter0% (0 lines)
src/utils0% (0 lines)
src/connectionmonitor0% (0 lines)
src/messagingsessionobserver0% (0 lines)
src/volumeindicatoradapter0% (0 lines)
src/videocaptureandencodeparameter0% (0 lines)
src/transcript0% (0 lines)
src/eventbufferconfiguration0% (0 lines)
src/pingpong0% (0 lines)
src/eventsclientconfiguration0% (0 lines)
src/datamessage0% (0 lines)
src/versioning0% (0 lines)
src/transceivercontroller0% (0 lines)
src/audiomixobserver0% (0 lines)
src/audioprofile0% (0 lines)
src/videotilefactory0% (0 lines)
src/message0% (0 lines)
src/videosource0% (0 lines)
src/modality0% (0 lines)
src/scheduler0% (0 lines)
src/statscollector0% (0 lines)
src/eventcontroller0% (0 lines)
src/eventreporter0% (0 lines)
src/reconnectcontroller0% (0 lines)
src/videostreamidset0% (0 lines)
src/removableobserver0% (0 lines)
src/signalingclient0% (0 lines)
src/destroyable0% (0 lines)
src/audiomixcontroller0% (0 lines)
src/messagingsession0% (0 lines)
src/backoff0% (0 lines)
src/devicepixelratioobserver0% (0 lines)
protocol0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 749 duplicates...
Size#FoldersFilesLinesCode
20 x 2 libs/voicefocus
libs/voicefocus
worklet-worker-postMessage-node.js
worklet-worker-sab-node.js
75:96 (19%)
98:119 (17%)
view
19 x 2 integration/js
integration/js
AppQuitVideoTest.js
MeetingLeaveVideoTest.js
13:37 (33%)
14:38 (32%)
view
18 x 2 integration/js/utils
integration/js/utils
WebdriverBrowserStack.js
WebdriverSauceLabs.js
121:144 (13%)
258:282 (7%)
view
17 x 2 integration/js
integration/js
AppQuitAudioTest.js
MeetingLeaveVideoTest.js
14:36 (29%)
14:36 (29%)
view
17 x 2 integration/js
integration/js
AppQuitAudioTest.js
AppQuitVideoTest.js
14:36 (29%)
13:35 (29%)
view
17 x 2 integration/js
integration/js
EchoReductionDisabledTest.js
EchoReductionEnabledTest.js
14:40 (40%)
14:40 (39%)
view
16 x 2 integration/js/utils
integration/js/utils
WebdriverLocal.js
WebdriverSauceLabs.js
26:45 (39%)
262:282 (6%)
view
16 x 2 src/backgroundblurprocessor
src/backgroundfilter
BackgroundBlurProcessorBuiltIn.ts
BackgroundFilterProcessor.ts
101:118 (21%)
184:200 (5%)
view
16 x 2 integration/js/utils
integration/js/utils
WebdriverBrowserStack.js
WebdriverLocal.js
125:144 (11%)
26:45 (39%)
view
16 x 2 integration/js
integration/js
AppQuitContentShareTest.js
MeetingLeaveContentShareTest.js
14:33 (45%)
14:33 (44%)
view
14 x 2 script
script
build-guides.js
update-typedoc-link.js
1:17 (27%)
1:17 (40%)
view
14 x 2 src/audiovideocontroller
src/audiovideocontroller
DefaultAudioVideoController.ts
DefaultAudioVideoController.ts
1082:1095 (1%)
1228:1241 (1%)
view
14 x 2 src/realtimecontroller
src/realtimecontroller
RealtimeController.ts
RealtimeControllerFacade.ts
90:158 (23%)
28:41 (29%)
view
14 x 2 src/videoframeprocessor
src/voicefocus
DefaultVideoTransformDevice.ts
VoiceFocusTransformDevice.ts
73:96 (14%)
149:174 (8%)
view
13 x 2 libs/voicefocus
libs/voicefocus
worklet-worker-postMessage-node.js
worklet-worker-sab-node.js
1:13 (12%)
1:13 (11%)
view
13 x 2 src/backgroundblurprocessor
src/backgroundblurprocessor
BackgroundBlurProcessorBuiltIn.ts
BackgroundBlurProcessorBuiltIn.ts
78:90 (17%)
109:121 (17%)
view
13 x 2 src/signalingprotocol
src/signalingprotocol
SignalingProtocol.js
SignalingProtocol.js
2572:2584 (<1%)
2900:2912 (<1%)
view
13 x 2 integration/js
integration/js
AudioTest.js
VideoTest.js
22:39 (21%)
22:39 (17%)
view
13 x 2 integration/js
integration/js
AppQuitVideoTest.js
MeetingLeaveVideoTest.js
39:57 (22%)
40:58 (22%)
view
13 x 2 libs/voicefocus
libs/voicefocus
worklet-inline-node.js
worklet-worker-sab-node.js
1:13 (16%)
1:13 (11%)
view
Duplicated Units
The list of top 8 duplicated units.
See data for all 8 unit duplicates...
Size#FoldersFilesLinesCode
20 x 2 integration/js
integration/js
EchoReductionEnabledTest.js
EchoReductionDisabledTest.js
14:45 
14:45 
view
17 x 3 integration/js/utils
integration/js/utils
integration/js/utils
WebdriverSauceLabs.js
WebdriverBrowserStack.js
WebdriverLocal.js
262:279 
125:142 
26:43 
view
8 x 2 src/videoframeprocessor
src/videoframeprocessor
DefaultVideoTransformDevice.ts
DefaultVideoFrameProcessorPipeline.ts
200:208 
268:276 
view
8 x 2 src/devicecontroller
src/devicecontroller
VideoTransformDevice.ts
AudioTransformDevice.ts
42:50 
62:70 
view
8 x 2 integration/js/utils
integration/js/utils
WebdriverSauceLabs.js
WebdriverBrowserStack.js
214:222 
103:111 
view
7 x 4 integration/js
integration/js
integration/js
integration/js
AppQuitVideoTest.js
ReconnectionTest.js
MeetingLeaveVideoTest.js
AppQuitAudioTest.js
13:21 
26:33 
14:22 
14:22 
view
7 x 3 integration/js
integration/js
integration/js
AudioTest.js
MeetingLeaveAudioTest.js
VideoTest.js
22:30 
14:22 
22:30 
view
6 x 4 integration/js
integration/js
integration/js
integration/js
AppQuitVideoTest.js
MeetingLeaveAudioTest.js
MeetingLeaveVideoTest.js
AppQuitAudioTest.js
66:72 
67:73 
67:73 
67:73 
view