microsoft / BotFramework-Emulator
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 794 files with 45,787 lines of code.
    • 1 very long files (2,414 lines of code)
    • 2 long files (1,167 lines of code)
    • 49 medium size files (13,926 lines of codeclsfd_ftr_w_mp_ins)
    • 70 small files (9,864 lines of code)
    • 672 very small files (18,416 lines of code)
5% | 2% | 30% | 21% | 40%
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
ts11% | 2% | 26% | 16% | 43%
tsx0% | 2% | 40% | 27% | 30%
css0% | 0% | 93% | 0% | 6%
scss0% | 0% | 0% | 24% | 75%
html0% | 0% | 0% | 73% | 26%
js0% | 0% | 0% | 24% | 75%
jsx0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
nsh0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
packages/extensions/json81% | 0% | 0% | 11% | 7%
packages/app/client0% | 4% | 35% | 24% | 34%
packages/app/main0% | 0% | 31% | 18% | 50%
packages/app/shared0% | 0% | 38% | 13% | 47%
packages/sdk/ui-react0% | 0% | 14% | 29% | 56%
packages/extensions/luis0% | 0% | 37% | 14% | 48%
packages/extensions/qnamaker0% | 0% | 42% | 0% | 57%
packages/sdk/shared0% | 0% | 0% | 29% | 70%
ROOT0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
packages/tools/test-bot0% | 0% | 0% | 0% | 100%
packages/sdk/client0% | 0% | 0% | 0% | 100%
jestMocks0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
mocks.ts
in packages/extensions/json/src
2414 -
chatSagas.ts
in packages/app/client/src/state/sagas
636 10
inspector.spec.tsx
in packages/app/client/src/ui/editor/emulator/parts/inspector
531 5
conversation.ts
in packages/app/main/src/server/state
472 29
appMenuBuilder.ts
in packages/app/main/src
462 27
editor.ts
in packages/app/shared/src/state/reducers
442 9
inspector.tsx
in packages/app/client/src/ui/editor/emulator/parts/inspector
433 20
conversationQueueMocks.ts
in packages/app/client/mocks
432 -
servicesExplorerSagas.ts
in packages/app/client/src/state/sagas
382 7
emulator.spec.tsx
in packages/app/client/src/ui/editor/emulator
371 2
chatActions.ts
in packages/app/shared/src/state/actions
360 23
chat.ts
in packages/app/shared/src/state/reducers
358 2
connectedServicePicker.tsx
in packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker
325 19
botCreationDialog.tsx
in packages/app/client/src/ui/dialogs/botCreationDialog
322 4
App.tsx
in packages/extensions/qnamaker/client/src
321 13
connectedServiceEditor.tsx
in packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor
320 10
appSettingsEditor.tsx
in packages/app/client/src/ui/editor/appSettingsEditor
306 7
main.ts
in packages/app/main/src
305 8
outerActivityWrapper.spec.tsx
in packages/app/client/src/ui/editor/emulator/parts/chat
296 -
logEntry.tsx
in packages/app/client/src/ui/editor/emulator/parts/log
286 15
App.tsx
in packages/extensions/luis/client/src
286 7
chat.spec.tsx
in packages/app/client/src/ui/editor/emulator/parts/chat
282 6
splitter.tsx
in packages/sdk/ui-react/src/splitter
279 10
endpointEditor.tsx
in packages/app/client/src/ui/shell/explorer/endpointExplorer/endpointEditor
275 5
tabBar.spec.tsx
in packages/app/client/src/ui/shell/mdi/tabBar
274 4
logEntry.spec.tsx
in packages/app/client/src/ui/editor/emulator/parts/log
269 2
protocolHandler.ts
in packages/app/main/src
260 10
botSettingsEditor.tsx
in packages/app/client/src/ui/dialogs/botSettingsEditor
259 4
openBotDialog.tsx
in packages/app/client/src/ui/dialogs/openBotDialog
258 5
getStartedWithCSDialog.tsx
in packages/app/client/src/ui/dialogs/getStartedWithCSDialog
257 9
editorActions.ts
in packages/app/shared/src/state/actions
250 14
botSettingsEditor.spec.tsx
in packages/app/client/src/ui/dialogs/botSettingsEditor
249 3
emulator.tsx
in packages/app/client/src/ui/editor/emulator
249 3
dark.css
in packages/app/client/src/ui/styles/themes
248 -
appUpdater.ts
in packages/app/main/src
242 15
activeBotHelper.ts
in packages/app/client/src/ui/helpers
240 10
light.css
in packages/app/client/src/ui/styles/themes
240 -
autoComplete.tsx
in packages/sdk/ui-react/src/widget/autoComplete
239 14
high-contrast.css
in packages/app/client/src/ui/styles/themes
238 -
appMenuTemplate.ts
in packages/app/client/src/ui/shell/appMenu
235 8
ngrok.ts
in packages/app/main/src
235 11
ngrokService.ts
in packages/app/main/src
228 19
tabBar.tsx
in packages/app/client/src/ui/shell/mdi/tabBar
225 6
chat.tsx
in packages/app/client/src/ui/editor/emulator/parts/chat
223 4
botCommands.ts
in packages/app/main/src/commands
220 11
botCreationDialog.spec.tsx
in packages/app/client/src/ui/dialogs/botCreationDialog
216 4
connectedServiceEditor.spec.tsx
in packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServiceEditor
215 -
connectedServicePicker.spec.tsx
in packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker
212 -
Client.ts
in packages/extensions/luis/client/src/Luis
211 12
openBotDialog.spec.tsx
in packages/app/client/src/ui/dialogs/openBotDialog
208 1
Files With Most Units (Top 20)
File# lines# units
conversation.ts
in packages/app/main/src/server/state
472 29
appMenuBuilder.ts
in packages/app/main/src
462 27
chatActions.ts
in packages/app/shared/src/state/actions
360 23
inspector.tsx
in packages/app/client/src/ui/editor/emulator/parts/inspector
433 20
uiCommands.ts
in packages/app/client/src/commands
184 19
connectedServicePicker.tsx
in packages/app/client/src/ui/shell/explorer/servicesExplorer/connectedServicePicker
325 19
ngrokService.ts
in packages/app/main/src
228 19
electronCommands.ts
in packages/app/main/src/commands
157 16
logEntry.tsx
in packages/app/client/src/ui/editor/emulator/parts/log
286 15
appUpdater.ts
in packages/app/main/src
242 15
conversationService.ts
in packages/sdk/shared/src/emulatorApi
165 15
extensions.ts
in packages/app/client/src
126 14
emulatorCommands.ts
in packages/app/main/src/commands
183 14
inspector-preload.js
in packages/app/main/src/extensions
89 14
editorActions.ts
in packages/app/shared/src/state/actions
250 14
autoComplete.tsx
in packages/sdk/ui-react/src/widget/autoComplete
239 14
App.tsx
in packages/extensions/qnamaker/client/src
321 13
util.ts
in packages/sdk/shared/src/types/log
136 13
botHelpers.ts
in packages/app/main/src
112 12
Client.ts
in packages/extensions/luis/client/src/Luis
211 12
Files With Long Lines (Top 15)

There are 15 files with lines longer than 120 characters. In total, there are 60 long lines.

File# lines# units# long lines
splash.html
in packages/app/client/src
190 - 43
restServer.ts
in packages/app/main/src/server
205 9 3
tabBar.spec.tsx
in packages/app/client/src/ui/shell/mdi/tabBar
274 4 2
servicesExplorerSagas.ts
in packages/app/client/src/state/sagas
382 7 1
appSettingsEditor.spec.tsx
in packages/app/client/src/ui/editor/appSettingsEditor
151 2 1
inspector.tsx
in packages/app/client/src/ui/editor/emulator/parts/inspector
433 20 1
markdownElement.spec.tsx
in packages/app/client/src/ui/editor/markdownPage
32 - 1
tabBar.tsx
in packages/app/client/src/ui/shell/mdi/tabBar
225 6 1
redline.css
in packages/app/client/src/ui/styles/themes
9 - 1
botFrameworkIcon.jsx
in packages/app/client/src/ui/widget
75 - 1
getElectronBuilderConfig.js
in packages/app/main/scripts/config
130 - 1
emulator.ts
in packages/app/main/src
46 7 1
ngrokService.ts
in packages/app/main/src
228 19 1
sendBotStateDeprecationMessage.ts
in packages/app/main/src/server/routes/channel/botState/handlers
9 1 1
postmanNgrokCollection.ts
in packages/app/main/src/utils
122 - 1