microsoft / BotFramework-WebChat
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 598 files with 20,842 lines of code.
    • 0 very long files (0 lines of code)
    • 3 long files (2,089 lines of code)
    • 8 medium size files (2,254 lines of codeclsfd_ftr_w_mp_ins)
    • 30 small files (4,019 lines of code)
    • 557 very small files (12,480 lines of code)
0% | 10% | 10% | 19% | 59%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
tsx0% | 35% | 19% | 13% | 31%
js0% | 0% | 8% | 18% | 73%
ts0% | 0% | 6% | 25% | 68%
mjs0% | 0% | 0% | 52% | 47%
yml0% | 0% | 0% | 0% | 100%
ps10% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
pug0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
packages/component0% | 10% | 14% | 22% | 53%
packages/api0% | 19% | 6% | 15% | 58%
packages/bundle0% | 17% | 7% | 17% | 58%
packages/playground0% | 0% | 46% | 0% | 53%
packages/directlinespeech0% | 0% | 0% | 41% | 58%
packages/core0% | 0% | 0% | 15% | 84%
packages/embed0% | 0% | 0% | 25% | 74%
packages/support0% | 0% | 0% | 22% | 77%
ROOT0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
packages/isomorphic-react-dom0% | 0% | 0% | 0% | 100%
packages/isomorphic-react0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
BasicTranscript.tsx
in packages/component/src
963 2
Composer.tsx
in packages/api/src/hooks
615 4
AdaptiveCardRenderer.tsx
in packages/bundle/src/adaptiveCards/Attachment
511 21
App.js
in packages/playground/src
459 1
TextBox.tsx
in packages/component/src/SendBox
346 2
Composer.tsx
in packages/component/src
304 1
SuggestedActions.tsx
in packages/component/src/SendBox
272 1
StackedLayout.tsx
in packages/component/src/Activity
236 1
CarouselFilmStrip.js
in packages/component/src/Activity
218 1
StyleOptions.ts
in packages/api/src
210 -
CustomAudioInputStream.ts
in packages/bundle/src/speech
209 18
createAdapters.js
in packages/directlinespeech/src
194 1
useObserveFocusVisible.ts
in packages/component/src/hooks/internal
187 5
connectSaga.js
in packages/core/src/sagas
181 9
MicrophoneButton.tsx
in packages/component/src/SendBox
175 2
BypassSpeechSynthesisPonyfill.js
in packages/component/src/hooks/internal
157 46
Bubble.ts
in packages/component/src/Styles/StyleSet
152 1
SuggestedAction.tsx
in packages/component/src/SendBox
146 -
playCognitiveServicesStream.js
in packages/directlinespeech/src
144 7
SuggestedAction.ts
in packages/component/src/Styles/StyleSet
143 1
index.js
in packages/embed/src
142 4
normalizeStyleOptions.ts
in packages/api/src
141 1
AdaptiveCardAttachment.js
in packages/bundle/src/adaptiveCards/AttachmentForScreenReader
140 2
SuggestedActions.ts
in packages/component/src/Styles/StyleSet
140 1
BasicToaster.js
in packages/component/src
134 3
adaptiveCardHostConfig.ts
in packages/bundle/src/adaptiveCards/Styles
133 1
UploadButton.tsx
in packages/component/src/SendBox
133 1
Toaster.ts
in packages/component/src/Styles/StyleSet
128 1
index.ts
in packages/api/src/hooks
126 -
AdaptiveCardBuilder.ts
in packages/bundle/src/adaptiveCards/Attachment
125 8
mjs
install.mjs
in packages/support/cldr-data/src
125 -
Bubble.tsx
in packages/component/src/Activity
118 1
ReceiptCardContent.tsx
in packages/bundle/src/adaptiveCards/Attachment
116 1
getAllLocalizedStrings.ts
in packages/api/src/localization
113 1
postActivitySaga.js
in packages/core/src/sagas
109 7
normalizeLanguage.ts
in packages/api/src/utils
107 1
activityAltText.ts
in packages/component/src/Utils
104 3
AccessibleInputText.tsx
in packages/component/src/Utils
103 -
CarouselLayout.js
in packages/component/src/Activity
101 -
Dictation.js
in packages/component/src
101 -
ScreenReaderActivity.js
in packages/component/src
101 1
SendBoxButton.ts
in packages/component/src/Styles/StyleSet
100 1
DropdownOptions.js
in packages/playground/src
99 -
index.ts
in packages/bundle/src
97 -
InlineMarkdown.js
in packages/component/src/Utils
97 1
downscaleImageToDataURLUsingWorker.js
in packages/component/src/Utils/downscaleImageToDataURL
97 5
download.js
in packages/support/cldr-data-downloader/src
97 5
createMicrophoneAudioConfigAndAudioContext.ts
in packages/bundle/src/speech
96 4
index.ts
in packages/core/src
95 -
FileContent.tsx
in packages/component/src/Attachment
93 -
Files With Most Units (Top 20)
File# lines# units
BypassSpeechSynthesisPonyfill.js
in packages/component/src/hooks/internal
157 46
AdaptiveCardRenderer.tsx
in packages/bundle/src/adaptiveCards/Attachment
511 21
createStyleSet.ts
in packages/component/src/Styles
87 19
CustomAudioInputStream.ts
in packages/bundle/src/speech
209 18
connectSaga.js
in packages/core/src/sagas
181 9
SpeechSynthesisAudioStreamUtterance.js
in packages/directlinespeech/src
37 9
index.js
in packages/support/cldr-data/src
60 9
AdaptiveCardBuilder.ts
in packages/bundle/src/adaptiveCards/Attachment
125 8
unpack.js
in packages/support/cldr-data-downloader/src
59 8
postActivitySaga.js
in packages/core/src/sagas
109 7
playCognitiveServicesStream.js
in packages/directlinespeech/src
144 7
createWebSpeechPonyfillFactory.js
in packages/directlinespeech/src
84 6
state.js
in packages/support/cldr-data-downloader/src
33 6
downscaleImageToDataURLUsingWorker.js
in packages/component/src/Utils/downscaleImageToDataURL
97 5
useObserveFocusVisible.ts
in packages/component/src/hooks/internal
187 5
activities.js
in packages/core/src/reducers
75 5
connectionStatusToNotificationSaga.js
in packages/core/src/sagas
64 5
download.js
in packages/support/cldr-data-downloader/src
97 5
Composer.tsx
in packages/api/src/hooks
615 4
createDefaultGroupActivitiesMiddleware.ts
in packages/api/src/hooks/middleware
49 4
Files With Long Lines (Top 20)

There are 65 files with lines longer than 120 characters. In total, there are 110 long lines.

File# lines# units# long lines
createAdapters.js
in packages/directlinespeech/src
194 1 8
Composer.tsx
in packages/api/src/hooks
615 4 6
normalizeStyleOptions.ts
in packages/api/src
141 1 5
index.ts
in packages/bundle/src
97 - 4
Localize.ts
in packages/api/src/localization
41 2 3
createCognitiveServicesSpeechServicesPonyfillFactory.ts
in packages/bundle/src
71 1 3
createDirectLineSpeechAdapters.ts
in packages/bundle/src
76 1 3
BasicTranscript.tsx
in packages/component/src
963 2 3
createCoreMiddleware.tsx
in packages/component/src/Middleware/Activity
52 1 3
useReplaceEmoticon.js
in packages/component/src/hooks/internal
35 1 3
createDevModeActivityMiddleware.js
in packages/playground/src
78 3 3
PushBitsToGithub.ps1
in scripts
49 - 3
useRenderActivity.js
in packages/api/src/hooks
29 1 2
useTrackEvent.ts
in packages/api/src/hooks
50 2 2
patchStyleOptionsFromDeprecatedProps.js
in packages/api/src
23 1 2
index-es5.ts
in packages/bundle/src
46 - 2
index-minimal.ts
in packages/bundle/src
59 - 2
StackedLayout.tsx
in packages/component/src/Activity
236 1 2
CarouselFilmStrip.ts
in packages/component/src/Styles/StyleSet
82 1 2
StackedLayout.ts
in packages/component/src/Styles/StyleSet
72 1 2