Skip to content

Source Files and Dependencies

Jake Chitel edited this page Feb 9, 2018 · 3 revisions

File Size Classifications

NOTE: that lines are calculated using CLOC, which ignores comments and whitespace

  • INFINITESSIMAL: 0-2
  • NANOSCOPIC: 3-4
  • MICROSCOPIC: 5-8
  • TINY: 9-16
  • LITTLE: 17-32 <-- smaller than this is usually too small
  • SMALL: 33-64
  • MEDIUM: 65-128
  • BIG: 129-256
  • LARGE: 257-512 <-- bigger than this is definitely too big
  • HUGE: 513-1024
  • MASSIVE: 1025-2048
  • COLLOSAL: 2049-4096
  • GARGANTUAN: 4097-8192
  • LEVIATHAN: 8193-16384
  • GALACTIC: 16385-32768 <-- how... just how could you have let things get this way?

Full list with sizes

TOTAL AVG: HUGE (153931 loc / 236 files = 652)

  • /src/compiler/ (AVG: MASSIVE (1783))
    • transformers/ (AVG: HUGE (906))
      • module/ (AVG: HUGE (793))
        • es2015.ts: MEDIUM (79)
        • module.ts: MASSIVE (1173)
        • system.ts: MASSIVE (1127)
      • destructuring.ts: LARGE (418)
      • es5.ts: MEDIUM (68)
      • es2015.ts: COLLOSAL (2658)
      • es2016.ts: MEDIUM (90)
      • es2017.ts: HUGE (530)
      • esnext.ts: HUGE (866)
      • generators.ts: MASSIVE (2023)
      • jsx.ts: LARGE (471)
      • ts.ts: COLLOSAL (2072)
      • utilities.ts: BIG (179)
    • binder.ts: COLLOSAL (2747)
    • builder.ts: LARGE (328)
    • builderState.ts: BIG (248)
    • checker.ts: GALACTIC (20948) <-- Largest file in the project
    • commandLineParser.ts: MASSIVE (1815)
    • comments.ts: LARGE (321)
    • core.ts: COLLOSAL (2212)
    • declarationEmitter.ts: MASSIVE (1725)
    • diagnosticMessages.json: COLLOSAL (3958)
    • emitter.ts: COLLOSAL (2678)
    • factory.ts: COLLOSAL (3667)
    • moduleNameResolver.ts: HUGE (929)
    • parser.ts: GARGANTUAN (5422)
    • performance.ts: SMALL (48)
    • program.ts: MASSIVE (1846)
    • resolutionCache.ts: LARGE (501)
    • scanner.ts: MASSIVE (1698)
    • sourcemap.ts: LARGE (303)
    • symbolWalker.ts: BIG (163)
    • sys.ts: HUGE (520)
    • transformer.ts: BIG (247)
    • tsc.ts: LARGE (319)
    • tsconfig.json: SMALL (49)
    • types.ts: COLLOSAL (3626)
    • utilities.ts: GARGANTUAN (4414)
    • visitor.ts: MASSIVE (1193)
    • watch.ts: HUGE (669)
    • watchUtilities.ts: LARGE (318)
  • /src/harness/ (AVG: LARGE (490))
    • parallel/ (AVG: LARGE (266))
      • host.ts: LARGE (504)
      • shared.ts: TINY (12)
      • worker.ts: LARGE (283)
    • unittests/ (AVG: LARGE (496))
      • services/ (AVG: LARGE (316))
        • colorization.ts: LARGE (405)
        • documentRegistry.ts: SMALL (45)
        • patternMatcher.ts: LARGE (380)
        • preProcessFile.ts: LARGE (432)
      • asserts.ts: TINY (9)
      • builder.ts: MEDIUM (107)
      • commandLineParsing.ts: LARGE (317)
      • compileOnSave.ts: MASSIVE (538)
      • configurationExtension.ts: BIG (224)
      • convertCompilerOptionsFromJson.ts: HUGE (516)
      • convertToBase64.ts: LITTLE (28)
      • convertTypeAcquisitionFromJson.ts: BIG (222)
      • customTransforms.ts: BIG (195)
      • extractConstants.ts: BIG (230)
      • extractFunctions.ts: LARGE (488)
      • extractRanges.ts: LARGE (391)
      • extractTestHelpers.ts: BIG (180)
      • hostNewLineSupport.ts: SMALL (46)
      • incrementalParser.ts: HUGE (589)
      • initializeTSConfig.ts: LITTLE (22)
      • jsDocParsing.ts: BIG (198)
      • languageService.ts: SMALL (43)
      • matchFiles.ts: BEHEMOTH (1071)
      • moduleResolution.ts: HUGE (856)
      • printer.ts: BIG (224)
      • programMissingFiles.ts: MEDIUM (88)
      • projectErrors.ts: BIG (184)
      • publicApi.ts: LITTLE (28)
      • reuseProgramStructure.ts: HUGE (848)
      • session.ts: HUGE (648)
      • symbolWalker.ts: SMALL (47)
      • telemetry.ts: BIG (200)
      • textChanges.ts: HUGE (711)
      • textStorage.ts: SMALL (52)
      • transform.ts: BIG (226)
      • transpile.ts: LARGE (372)
      • tsconfigParsing.ts: LARGE (268)
      • tscWatchMode.ts: MASSIVE (1797)
      • tsserverProjectSystem.ts: GARGANTUAN (5724)
      • typingsInstaller.ts: MASSIVE (1211)
      • versionCache.ts: LARGE (260)
    • compilerRunner.ts: BIG (178)
    • externalCompilerRunner.ts: BIG (136)
    • fourslash.ts: GARGANTUAN (4650)
    • fourslashRunner.ts: SMALL (63)
    • harness.ts: MASSIVE (1658)
    • harnessLanguageService.ts: HUGE (720)
    • instrumenter.ts: SMALL (51)
    • loggedIO.ts: LARGE (394)
    • projectsRunner.ts: LARGE (438)
    • runner.ts: BIG (205)
    • runnerbase.ts: LITTLE (22)
    • rwcRunner.ts: BIG (189)
    • sourceMapRecorder.ts: LARGE (335)
    • test262Runner.ts: MEDIUM (97)
    • tsconfig.json: BIG (137)
    • typeWriter.ts: MEDIUM (109)
    • virtualFileSystem.ts: BIG (184)
    • virtualFileSystemWithWatch.ts: HUGE (638)
  • /src/lib/ (AVG: LARGE (492))
    • dom.generated.d.ts: LEVIATHAN (12200) <-- Second largest, behind checker.ts
    • dom.iterable.d.ts: SMALL (41)
    • es5.d.ts: HUGE (980)
    • es2015.collection.d.ts: SMALL (63)
    • es2015.core.d.ts: MEDIUM (125)
    • es2015.d.ts: INFINITESSIMAL (0, only reference comments)
    • es2015.generator.d.ts: TINY (16)
    • es2015.iterable.d.ts: BIG (176)
    • es2015.promise.d.ts: LITTLE (29)
    • es2015.proxy.d.ts: LITTLE (21)
    • es2015.reflect.d.ts: TINY (15)
    • es2015.symbol.d.ts: TINY (11)
    • es2015.symbol.wellknown.d.ts: MEDIUM (124)
    • es2016.array.include.d.ts: SMALL (33)
    • es2016.d.ts: INFINITESSIMAL (0, only reference comments)
    • es2017.d.ts: INFINITESSIMAL (0, only reference comments)
    • es2017.intl.d.ts: MICROSCOPIC (8)
    • es2017.object.d.ts: MICROSCOPIC (7)
    • es2017.sharedmemory.d.ts: LITTLE (31)
    • es2017.string.d.ts: NANOSCOPIC (4)
    • es2017.typedarrays.d.ts: SMALL (27)
    • es2018.d.ts: INFINITESSIMAL (0, only reference comments)
    • esnext.array.d.ts: MEDIUM (65)
    • esnext.asynciterable.d.ts: TINY (14)
    • esnext.d.ts: INFINITESSIMAL (0, only reference comments)
    • esnext.promise.d.ts: NANOSCOPIC (3)
    • header.d.ts: INFINITESSIMAL (0, only reference comments)
    • importes5.d.ts: INFINITESSIMAL (0, only reference comments)
    • scripthost.d.ts: MEDIUM (86)
    • webworker.generated.d.ts: MASSIVE (1676)
    • webworker.importscripts.d.ts: INFINITESSIMAL (1)
  • /src/server/ (AVG: LARGE (451))
    • cancellationToken/ (AVG: LITTLE (38))
      • cancellationToken.ts: SMALL (60)
      • tsconfig.json: TINY (16)
    • typingsInstaller/ (AVG: BIG (192))
      • nodeTypingsInstaller.ts: BIG (218)
      • tsconfig.json: LITTLE (20)
      • typingsInstaller.ts: LARGE (338)
    • watchGuard/ (AVG: TINY (13))
      • tsconfig.json: TINY (16)
      • watchGuard.ts: TINY (11)
    • client.ts: HUGE (547)
    • editorServices.ts: MASSIVE (1767)
    • project.ts: MASSIVE (1111)
    • protocol.ts: MASSIVE (1033)
    • scriptInfo.ts: LARGE (327)
    • scriptVersionCache.ts: HUGE (706)
    • server.ts: HUGE (826)
    • session.ts: MASSIVE (1862)
    • shared.ts: LITTLE (26)
    • tsconfig.json: LITTLE (25)
    • tsconfig.library.json: LITTLE (31)
    • types.ts: MEDIUM (105)
    • typesMap.json: LARGE (497)
    • typingsCache.ts: MEDIUM (120)
    • utilities.ts: LARGE (258)
  • /src/services/ (AVG: LARGE (337))
    • codefixes/ (AVG: MEDIUM (123))
      • addMissingInvocationForDecorator.ts: LITTLE (20)
      • correctQualifiedNameToIndexedAccessType.ts: SMALL (33)
      • disableJsDiagnostics.ts: SMALL (54)
      • fixAddMissingMember.ts: BIG (168)
      • fixAwaitInSyncFunction.ts: BIG (68)
      • fixCannotFindModule.ts: SMALL (36)
      • fixClassDoesntImplementInheritedAbstractMember.ts: SMALL (36)
      • fixClassIncorrectlyImplementsInterface.ts: SMALL (61)
      • fixClassSuperMustPrecedeThisAccess.ts: SMALL (46)
      • fixConstructorForDerivedNeedsSuperCall.ts: LITTLE (25)
      • fixes.ts: INFINITESSIMAL (0, just reference comments)
      • fixExtendsInterfaceBecomesImplements.ts: SMALL (42)
      • fixForgottenThisPropertyAccess.ts: LITTLE (24)
      • fixInvalidImportSyntax.ts: MEDIUM (83)
      • fixJSDocTypes.ts: MEDIUM (80)
      • fixSpelling.ts: SMALL (56)
      • fixUnusedIdentifier.ts: BIG (208)
      • helpers.ts: BIG (180)
      • importFixes.ts: HUGE (689)
      • inferFromUsage.ts: HUGE (559)
    • formatting/ (AVG: LARGE (329))
      • formatting.ts: HUGE (907)
      • formattingContext.ts: MEDIUM (88)
      • formattingScanner.ts: BIG (218)
      • rule.ts: LITTLE (24)
      • rules.ts: HUGE (540)
      • rulesMap.ts: MEDIUM (76)
      • smartIndenter.ts: LARGE (450)
    • refactors/ (AVG: LARGE (351))
      • annotateWithTypeFromJSDoc.ts: BIG (227)
      • convertFunctionToEs6Class.ts: BIG (212)
      • convertToEs6Module.ts: LARGE (466)
      • extractSymbol.ts: MASSIVE (1414)
      • installTypesForPackage.ts: SMALL (55)
      • refactors.ts: INFINITESSIMAL (0, just reference comments)
      • useDefaultImport.ts: MEDIUM (80)
    • breakpoints.ts: LARGE (485)
    • classifier.ts: HUGE (621)
    • codeFixProvider.ts: MEDIUM (89)
    • completions.ts: MASSIVE (1692)
    • documentHighlights.ts: LARGE (368)
    • documentRegistry.ts: BIG (147)
    • findAllReferences.ts: MASSIVE (1297)
    • goToDefinition.ts: BIG (219)
    • importTracker.ts: HUGE (524)
    • jsDoc.ts: LARGE (282)
    • jsTyping.ts: BIG (224)
    • navigateTo.ts: BIG (152)
    • navigationBar.ts: HUGE (541)
    • outliningElementsCollector.ts: BIG (139)
    • pathCompletions.ts: LARGE (348)
    • patternMatcher.ts: LARGE (427)
    • preProcess.ts: LARGE (281)
    • refactorProvider.ts: LITTLE (30)
    • rename.ts: MEDIUM (94)
    • services.ts: MASSIVE (1690)
    • shims.ts: HUGE (867)
    • signatureHelp.ts: LARGE (309)
    • symbolDisplay.ts: HUGE (543)
    • textChanges.ts: HUGE (732)
    • transform.ts: TINY (10)
    • transpile.ts: MEDIUM (101)
    • tsconfig.json: MEDIUM (81)
    • types.ts: HUGE (648)
    • utilities.ts: MASSIVE (1082)

Dependencies

Compiler:

  • tsc.ts NO DEPENDENTS
    • program.ts DEPENDENTS (3): tsc.ts, watch.ts, builderState.ts
      • sys.ts DEPENDENTS (3): program.ts, utilities.ts, commandLineParser.ts
        • core.ts
      • emitter.ts DEPENDENTS (1): program.ts
        • checker.ts DEPENDENTS (4): emitter.ts, visitor.ts, declarationEmitter.ts, sourcemap.ts
          • moduleNameResolver.ts DEPENDENTS (1): checker.ts
            • core.ts
            • diagnosticInformationMap.generated.ts DEPENDENTS (3): moduleNameResolver.ts, scanner.ts, commandLineParser.ts
              • types.ts
          • binder.ts DEPENDENTS (1): checker.ts
            • utilities.ts DEPENDENTS (4): binder.ts, parser.ts, factory.ts, visitor.ts
              • sys.ts
            • parser.ts DEPENDENTS (2): binder.ts, commandLineParser.ts
              • utilities.ts
              • scanner.ts DEPENDENTS (1): parser.ts
                • core.ts
                • diagnosticInformationMap.generated.ts
          • symbolWalker.ts DEPENDENTS (1): checker.ts
        • transformer.ts DEPENDENTS (1): emitter.ts
          • visitor.ts DEPENDENTS (13): transformer.ts, transformers/ts.ts, transformers/destructuring.ts, transformers/jsx.ts, transformers/esnext.ts, transformers/es2017.ts, transformers/es2016.ts, transformers/es2015.ts, transformers/generators.ts, transformers/es5.ts, transformers/module/module.ts, transformers/module/system.ts, transformers/module/es2015.ts
            • checker.ts
            • factory.ts DEPENDENTS (13): visitor.ts, transformers/ts.ts, transformers/destructuring.ts, transformers/jsx.ts, transformers/esnext.ts, transformers/es2017.ts, transformers/es2016.ts, transformers/es2015.ts, transformers/generators.ts, transformers/es5.ts, transformers/module/module.ts, transformers/module/system.ts, transformers/module/es2015.ts
              • core.ts
              • utilities.ts
            • utilities.ts
          • transformers/utilities.ts DEPENDENTS (1): transformer.ts
          • transformers/ts.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
            • transformers/destructuring.ts DEPENDENTS (4): transformers/ts.ts, transformers/es2015.ts, transformers/module/module.ts, transformers/module/system.ts
              • factory.ts
              • visitor.ts
          • transformers/jsx.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
            • transformers/esnext.ts
          • transformers/esnext.ts DEPENDENTS (2): transformer.ts, transformers/jsx.ts
            • factory.ts
            • visitor.ts
            • transformers/es2017.ts
          • transformers/es2017.ts DEPENDENTS (2): transformer.ts, transformers/esnext.ts
            • factory.ts
            • visitor.ts
          • transformers/es2016.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
          • transformers/es2015.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
            • transformers/destructuring.ts
          • transformers/generators.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
          • transformers/es5.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
          • transformers/module/module.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
            • transformers/destructuring.ts
          • transformers/module/system.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
            • transformers/destructuring.ts
          • transformers/module/es2015.ts DEPENDENTS (1): transformer.ts
            • factory.ts
            • visitor.ts
        • declarationEmitter.ts DEPENDENTS (1): emitter.ts
          • checker.ts
        • sourcemap.ts DEPENDENTS (2): emitter.ts, comments.ts
          • checker.ts
        • comments.ts DEPENDENTS (1): emitter.ts
          • sourcemap.ts
      • core.ts DEPENDENTS (8): moduleNameResolver.ts, sys.ts, scanner.ts, factory.ts, program.ts, resolutionCache.ts, watchUtilities.ts, commandLineParser.ts
        • types.ts DEPENDENTS (4): core.ts, diagnosticInformationMap.generated.ts, resolutionCache.ts, commandLineParser.ts
        • performance.ts DEPENDENTS (1): core.ts
    • watch.ts DEPENDENTS (1): tsc.ts
      • program.ts
      • builder.ts DEPENDENTS (1): watch.ts
        • builderState.ts DEPENDENTS (1): builderState.ts
          • program.ts
      • resolutionCache.ts DEPENDENTS (1): watch.ts
        • types.ts
        • core.ts
        • watchUtilities.ts DEPENDENTS (1): resolutionCache.ts
          • core.ts
    • commandLineParser.ts DEPENDENTS (1): tsc.ts
      • sys.ts
      • types.ts
      • core.ts
      • diagnosticInformationMap.generated.ts
      • parser.ts
Clone this wiki locally