File Complexity Overall
  • There are 73 files with units, with 11,422 lines of code.
    • 0 very complex files (McCabe index sum 251+; 0 lines of code)
    • 0 complex files (McCabe index sum 126-250; 0 lines of code)
    • 0 medium complex files (McCabe index sum 51-125; 0 lines of code)
    • 1 slightly complex files (McCabe index sum 26-50; 680 lines of code)
    • 72 simple files (McCabe index sum 1-25; 10,742 lines of code)
  • 414 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system0% | 0% | 0% | 5% | 94%
Legend:
251+
126-250
51-125
26-50
1-25


explore: grouped by folders | grouped by complexity
File Complexity per Extension
251+
126-250
51-125
26-50
1-25
ts0% | 0% | 0% | 6% | 93%
tsx0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
src0% | 0% | 0% | 6% | 93%
playwright0% | 0% | 0% | 0% | 100%
cdk0% | 0% | 0% | 0% | 100%
util0% | 0% | 0% | 0% | 100%
.storybook0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Complex Files (Top 50)

The McCabe index of a file grows with its size: per 100 lines tells a large but plain file from a dense one, and most complex unit whether the complexity sits in one unit or is spread over many.

File# lines# unitsMcCabe index
(sum)
per 100
lines
most complex
unit
register.ts
in src/server/routes
680 20 46 7 8
signIn.ts
in src/server/routes
578 18 25 4 3
welcome.ts
in src/server/routes
540 16 23 4 5
okta.ts
in playwright/helpers/api
245 11 21 9 3
delete.ts
in src/server/routes
332 13 20 6 4
openid-connect.ts
in src/server/lib/okta
289 13 17 6 5
resetPassword.ts
in src/server/routes
287 11 16 6 4
sendChangePasswordEmail.ts
in src/server/controllers
517 13 13 3 1
oauth.ts
in src/server/routes
564 8 13 2 6
getConfiguration.ts
in src/server/lib
222 12 12 5 1
idxFetch.ts
in src/server/lib/okta/idx/shared
186 1 11 6 11
register.ts
in src/server/lib/okta
364 11 11 3 1
signInControllers.ts
in src/server/controllers
544 9 11 2 2
76 7 10 13 3
regexparam.ts
in src/shared/lib
22 1 10 45 10
renderedTemplates.ts
in src/email/templates
91 10 10 11 1
mocking.ts
in playwright/helpers/network
51 4 8 16 3
login.ts
in src/server/lib/middleware
106 2 8 8 7
subscriptions.ts
in src/server/routes
187 7 8 4 2
passcode.ts
in src/server/routes
217 8 8 4 1
153 2 6 4 4
register.ts
in playwright/helpers
116 4 6 5 2
idapi.ts
in playwright/helpers/api
178 4 4 2 1
mailosaur.ts
in playwright/helpers/api
65 1 4 6 4
cookie-helpers.ts
in playwright/helpers/cookies
48 3 4 8 2
41 1 4 10 4
IDAPIFetch.ts
in src/server/lib
106 1 4 4 4
submitPasscode.ts
in src/server/lib/okta/idx/shared
187 3 4 2 2
authentication.ts
in src/server/lib/okta/api
84 3 4 5 2
user.ts
in src/server/lib/idapi
93 3 4 4 2
Errors.ts
in src/shared/model
106 2 4 4 2
baseLogger.ts
in src/shared/lib
24 4 4 17 1
517 1 3 1 3
mockedApiRequest.ts
in playwright/fixtures
33 3 3 9 1
validatePasswordField.ts
in src/server/lib
97 1 3 3 3
tokens.ts
in src/server/lib/okta
107 2 3 3 2
newsletters.ts
in src/server/lib/idapi
118 3 3 3 1
changePassword.ts
in src/server/controllers
204 3 3 1 1
checkPasswordToken.ts
in src/server/controllers
256 3 3 1 1
agree.ts
in src/server/routes
109 2 3 3 2
clientSideLogger.ts
in src/client/lib
39 3 3 8 1
accessibility.ts
in playwright/helpers
22 1 2 9 2
okta-apps.ts
in playwright/helpers/api
25 1 2 8 2
requestState.ts
in src/server/lib/middleware
119 2 2 2 1
errorHandling.ts
in src/server/lib/okta/idx/shared
93 2 2 2 1
consents.ts
in src/server/lib/idapi
151 2 2 1 1
consentToken.ts
in src/server/lib/idapi
62 2 2 3 1
subscriptions.ts
in src/server/lib/idapi
103 2 2 2 1
oktaIdxShared.ts
in src/server/controllers
138 2 2 1 1
signOut.ts
in src/server/routes
154 2 2 1 1
About This Analysis
  • File complexity is the sum of the McCabe indexes (conditional complexity) of the units (methods, functions...) in a file.
  • Files are classified in five categories based on that sum: 1-25 (simple files), 26-50 (slightly complex files), 51-125 (medium complex files), 126-250 (complex files), 251+ (very complex files). The default bands are five times the unit complexity bands, as a file is a group of units.
  • Only main code files with units are classified. Files without units (languages without unit analysis, or files without functions) have no complexity to measure and are left out rather than counted as simple.
  • A very complex file holds many decisions, which often means it has too many responsibilities: a candidate to split, and a place where changes need more testing.
Learn more...