@@ -2275,7 +2275,7 @@ declare namespace ts {
2275
2275
}
2276
2276
}
2277
2277
declare namespace ts {
2278
- const version = "2.3.3 " ;
2278
+ const version = "2.3.4 " ;
2279
2279
}
2280
2280
declare function setTimeout ( handler : ( ...args : any [ ] ) => void , timeout : number ) : any ;
2281
2281
declare function clearTimeout ( handle : any ) : void ;
@@ -3483,9 +3483,10 @@ declare namespace ts.server {
3483
3483
const LogFile = "--logFile" ;
3484
3484
const EnableTelemetry = "--enableTelemetry" ;
3485
3485
const TypingSafeListLocation = "--typingSafeListLocation" ;
3486
+ const NpmLocation = "--npmLocation" ;
3486
3487
}
3487
3488
function hasArgument ( argumentName : string ) : boolean ;
3488
- function findArgument ( argumentName : string ) : string ;
3489
+ function findArgument ( argumentName : string ) : string | undefined ;
3489
3490
}
3490
3491
declare namespace ts . server {
3491
3492
enum LogLevel {
@@ -3538,7 +3539,10 @@ declare namespace ts.server {
3538
3539
}
3539
3540
function createNormalizedPathMap < T > ( ) : NormalizedPathMap < T > ;
3540
3541
interface ProjectOptions {
3541
- configHasFilesProperty ?: boolean ;
3542
+ configHasExtendsProperty : boolean ;
3543
+ configHasFilesProperty : boolean ;
3544
+ configHasIncludeProperty : boolean ;
3545
+ configHasExcludeProperty : boolean ;
3542
3546
files ?: string [ ] ;
3543
3547
wildcardDirectories ?: Map < WatchDirectoryFlags > ;
3544
3548
compilerOptions ?: CompilerOptions ;
@@ -4833,6 +4837,7 @@ declare namespace ts.server {
4833
4837
Configured = 1 ,
4834
4838
External = 2 ,
4835
4839
}
4840
+ function countEachFileTypes ( infos : ScriptInfo [ ] ) : FileStats ;
4836
4841
function allRootFilesAreJsOrDts ( project : Project ) : boolean ;
4837
4842
function allFilesAreJsOrDts ( project : Project ) : boolean ;
4838
4843
class UnresolvedImportsMap {
@@ -4993,6 +4998,7 @@ declare namespace ts.server {
4993
4998
const ContextEvent = "context" ;
4994
4999
const ConfigFileDiagEvent = "configFileDiag" ;
4995
5000
const ProjectLanguageServiceStateEvent = "projectLanguageServiceState" ;
5001
+ const ProjectInfoTelemetryEvent = "projectInfo" ;
4996
5002
interface ContextEvent {
4997
5003
eventName : typeof ContextEvent ;
4998
5004
data : {
@@ -5015,7 +5021,37 @@ declare namespace ts.server {
5015
5021
languageServiceEnabled : boolean ;
5016
5022
} ;
5017
5023
}
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 ;
5019
5055
interface ProjectServiceEventHandler {
5020
5056
( event : ProjectServiceEvent ) : void ;
5021
5057
}
@@ -5081,6 +5117,7 @@ declare namespace ts.server {
5081
5117
readonly globalPlugins : ReadonlyArray < string > ;
5082
5118
readonly pluginProbeLocations : ReadonlyArray < string > ;
5083
5119
readonly allowLocalPluginLoads : boolean ;
5120
+ private readonly seenProjects ;
5084
5121
constructor ( opts : ProjectServiceOptions ) ;
5085
5122
ensureInferredProjectsUpToDate_TestOnly ( ) : void ;
5086
5123
getCompilerOptionsForInferredProjects ( ) : CompilerOptions ;
@@ -5113,6 +5150,7 @@ declare namespace ts.server {
5113
5150
private convertConfigFileContentToProjectOptions ( configFilename ) ;
5114
5151
private exceededTotalSizeLimitForNonTsFiles < T > ( name , options , fileNames , propertyReader ) ;
5115
5152
private createAndAddExternalProject ( projectFileName , files , options , typeAcquisition ) ;
5153
+ private sendProjectTelemetry ( projectKey , project , projectOptions ?) ;
5116
5154
private reportConfigFileDiagnostics ( configFileName , diagnostics , triggerFile ) ;
5117
5155
private createAndAddConfiguredProject ( configFileName , projectOptions , configFileErrors , clientFileName ?) ;
5118
5156
private watchConfigDirectoryForProject ( project , options ) ;
0 commit comments