@@ -2275,7 +2275,7 @@ declare namespace ts {
22752275 }
22762276}
22772277declare namespace ts {
2278- const version = "2.3.3 " ;
2278+ const version = "2.3.4 " ;
22792279}
22802280declare function setTimeout ( handler : ( ...args : any [ ] ) => void , timeout : number ) : any ;
22812281declare function clearTimeout ( handle : any ) : void ;
@@ -3483,9 +3483,10 @@ declare namespace ts.server {
34833483 const LogFile = "--logFile" ;
34843484 const EnableTelemetry = "--enableTelemetry" ;
34853485 const TypingSafeListLocation = "--typingSafeListLocation" ;
3486+ const NpmLocation = "--npmLocation" ;
34863487 }
34873488 function hasArgument ( argumentName : string ) : boolean ;
3488- function findArgument ( argumentName : string ) : string ;
3489+ function findArgument ( argumentName : string ) : string | undefined ;
34893490}
34903491declare namespace ts . server {
34913492 enum LogLevel {
@@ -3538,7 +3539,10 @@ declare namespace ts.server {
35383539 }
35393540 function createNormalizedPathMap < T > ( ) : NormalizedPathMap < T > ;
35403541 interface ProjectOptions {
3541- configHasFilesProperty ?: boolean ;
3542+ configHasExtendsProperty : boolean ;
3543+ configHasFilesProperty : boolean ;
3544+ configHasIncludeProperty : boolean ;
3545+ configHasExcludeProperty : boolean ;
35423546 files ?: string [ ] ;
35433547 wildcardDirectories ?: Map < WatchDirectoryFlags > ;
35443548 compilerOptions ?: CompilerOptions ;
@@ -4833,6 +4837,7 @@ declare namespace ts.server {
48334837 Configured = 1 ,
48344838 External = 2 ,
48354839 }
4840+ function countEachFileTypes ( infos : ScriptInfo [ ] ) : FileStats ;
48364841 function allRootFilesAreJsOrDts ( project : Project ) : boolean ;
48374842 function allFilesAreJsOrDts ( project : Project ) : boolean ;
48384843 class UnresolvedImportsMap {
@@ -4993,6 +4998,7 @@ declare namespace ts.server {
49934998 const ContextEvent = "context" ;
49944999 const ConfigFileDiagEvent = "configFileDiag" ;
49955000 const ProjectLanguageServiceStateEvent = "projectLanguageServiceState" ;
5001+ const ProjectInfoTelemetryEvent = "projectInfo" ;
49965002 interface ContextEvent {
49975003 eventName : typeof ContextEvent ;
49985004 data : {
@@ -5015,7 +5021,37 @@ declare namespace ts.server {
50155021 languageServiceEnabled : boolean ;
50165022 } ;
50175023 }
5018- type ProjectServiceEvent = ContextEvent | ConfigFileDiagEvent | ProjectLanguageServiceStateEvent ;
5024+ interface ProjectInfoTelemetryEvent {
5025+ readonly eventName : typeof ProjectInfoTelemetryEvent ;
5026+ readonly data : ProjectInfoTelemetryEventData ;
5027+ }
5028+ interface ProjectInfoTelemetryEventData {
5029+ readonly fileStats : FileStats ;
5030+ readonly compilerOptions : ts . CompilerOptions ;
5031+ readonly extends : boolean | undefined ;
5032+ readonly files : boolean | undefined ;
5033+ readonly include : boolean | undefined ;
5034+ readonly exclude : boolean | undefined ;
5035+ readonly compileOnSave : boolean ;
5036+ readonly typeAcquisition : ProjectInfoTypeAcquisitionData ;
5037+ readonly configFileName : "tsconfig.json" | "jsconfig.json" | "other" ;
5038+ readonly projectType : "external" | "configured" ;
5039+ readonly languageServiceEnabled : boolean ;
5040+ readonly version : string ;
5041+ }
5042+ interface ProjectInfoTypeAcquisitionData {
5043+ readonly enable : boolean ;
5044+ readonly include : boolean ;
5045+ readonly exclude : boolean ;
5046+ }
5047+ interface FileStats {
5048+ readonly js : number ;
5049+ readonly jsx : number ;
5050+ readonly ts : number ;
5051+ readonly tsx : number ;
5052+ readonly dts : number ;
5053+ }
5054+ type ProjectServiceEvent = ContextEvent | ConfigFileDiagEvent | ProjectLanguageServiceStateEvent | ProjectInfoTelemetryEvent ;
50195055 interface ProjectServiceEventHandler {
50205056 ( event : ProjectServiceEvent ) : void ;
50215057 }
@@ -5081,6 +5117,7 @@ declare namespace ts.server {
50815117 readonly globalPlugins : ReadonlyArray < string > ;
50825118 readonly pluginProbeLocations : ReadonlyArray < string > ;
50835119 readonly allowLocalPluginLoads : boolean ;
5120+ private readonly seenProjects ;
50845121 constructor ( opts : ProjectServiceOptions ) ;
50855122 ensureInferredProjectsUpToDate_TestOnly ( ) : void ;
50865123 getCompilerOptionsForInferredProjects ( ) : CompilerOptions ;
@@ -5113,6 +5150,7 @@ declare namespace ts.server {
51135150 private convertConfigFileContentToProjectOptions ( configFilename ) ;
51145151 private exceededTotalSizeLimitForNonTsFiles < T > ( name , options , fileNames , propertyReader ) ;
51155152 private createAndAddExternalProject ( projectFileName , files , options , typeAcquisition ) ;
5153+ private sendProjectTelemetry ( projectKey , project , projectOptions ?) ;
51165154 private reportConfigFileDiagnostics ( configFileName , diagnostics , triggerFile ) ;
51175155 private createAndAddConfiguredProject ( configFileName , projectOptions , configFileErrors , clientFileName ?) ;
51185156 private watchConfigDirectoryForProject ( project , options ) ;
0 commit comments