@@ -5868,6 +5868,32 @@ var ts;
5868
5868
})(JsTyping = ts.JsTyping || (ts.JsTyping = {}));
5869
5869
})(ts || (ts = {}));
5870
5870
var ts;
5871
+ (function (ts) {
5872
+ var server;
5873
+ (function (server) {
5874
+ server.ActionSet = "action::set";
5875
+ server.ActionInvalidate = "action::invalidate";
5876
+ server.EventInstall = "event::install";
5877
+ var Arguments;
5878
+ (function (Arguments) {
5879
+ Arguments.GlobalCacheLocation = "--globalTypingsCacheLocation";
5880
+ Arguments.LogFile = "--logFile";
5881
+ Arguments.EnableTelemetry = "--enableTelemetry";
5882
+ })(Arguments = server.Arguments || (server.Arguments = {}));
5883
+ function hasArgument(argumentName) {
5884
+ return ts.sys.args.indexOf(argumentName) >= 0;
5885
+ }
5886
+ server.hasArgument = hasArgument;
5887
+ function findArgument(argumentName) {
5888
+ var index = ts.sys.args.indexOf(argumentName);
5889
+ return index >= 0 && index < ts.sys.args.length - 1
5890
+ ? ts.sys.args[index + 1]
5891
+ : undefined;
5892
+ }
5893
+ server.findArgument = findArgument;
5894
+ })(server = ts.server || (ts.server = {}));
5895
+ })(ts || (ts = {}));
5896
+ var ts;
5871
5897
(function (ts) {
5872
5898
var server;
5873
5899
(function (server) {
@@ -63322,10 +63348,10 @@ var ts;
63322
63348
return;
63323
63349
}
63324
63350
switch (response.kind) {
63325
- case "set" :
63351
+ case server.ActionSet :
63326
63352
this.typingsCache.updateTypingsForProject(response.projectName, response.compilerOptions, response.typingOptions, response.unresolvedImports, response.typings);
63327
63353
break;
63328
- case "invalidate" :
63354
+ case server.ActionInvalidate :
63329
63355
this.typingsCache.deleteTypingsForProject(response.projectName);
63330
63356
break;
63331
63357
}
@@ -66593,8 +66619,9 @@ var ts;
66593
66619
return Logger;
66594
66620
}());
66595
66621
var NodeTypingsInstaller = (function () {
66596
- function NodeTypingsInstaller(logger, host, eventPort, globalTypingsCacheLocation, newLine) {
66622
+ function NodeTypingsInstaller(telemetryEnabled, logger, host, eventPort, globalTypingsCacheLocation, newLine) {
66597
66623
var _this = this;
66624
+ this.telemetryEnabled = telemetryEnabled;
66598
66625
this.logger = logger;
66599
66626
this.globalTypingsCacheLocation = globalTypingsCacheLocation;
66600
66627
this.newLine = newLine;
@@ -66619,15 +66646,21 @@ var ts;
66619
66646
NodeTypingsInstaller.prototype.sendEvent = function (seq, event, body) {
66620
66647
this.socket.write(server.formatMessage({ seq: seq, type: "event", event: event, body: body }, this.logger, Buffer.byteLength, this.newLine), "utf8");
66621
66648
};
66649
+ NodeTypingsInstaller.prototype.setTelemetrySender = function (telemetrySender) {
66650
+ this.telemetrySender = telemetrySender;
66651
+ };
66622
66652
NodeTypingsInstaller.prototype.attach = function (projectService) {
66623
66653
var _this = this;
66624
66654
this.projectService = projectService;
66625
66655
if (this.logger.hasLevel(server.LogLevel.requestTime)) {
66626
66656
this.logger.info("Binding...");
66627
66657
}
66628
- var args = ["--globalTypingsCacheLocation", this.globalTypingsCacheLocation];
66658
+ var args = [server.Arguments.GlobalCacheLocation, this.globalTypingsCacheLocation];
66659
+ if (this.telemetryEnabled) {
66660
+ args.push(server.Arguments.EnableTelemetry);
66661
+ }
66629
66662
if (this.logger.loggingEnabled() && this.logger.getLogFileName()) {
66630
- args.push("--logFile" , ts.combinePaths(ts.getDirectoryPath(ts.normalizeSlashes(this.logger.getLogFileName())), "ti-" + process.pid + ".log"));
66663
+ args.push(server.Arguments.LogFile , ts.combinePaths(ts.getDirectoryPath(ts.normalizeSlashes(this.logger.getLogFileName())), "ti-" + process.pid + ".log"));
66631
66664
}
66632
66665
var execArgv = [];
66633
66666
{
@@ -66672,19 +66705,38 @@ var ts;
66672
66705
if (this.logger.hasLevel(server.LogLevel.verbose)) {
66673
66706
this.logger.info("Received response: " + JSON.stringify(response));
66674
66707
}
66708
+ if (response.kind === server.EventInstall) {
66709
+ if (this.telemetrySender) {
66710
+ var body = {
66711
+ telemetryEventName: "typingsInstalled",
66712
+ payload: {
66713
+ installedPackages: response.packagesToInstall.join(",")
66714
+ }
66715
+ };
66716
+ var eventName = "telemetry";
66717
+ this.telemetrySender.event(body, eventName);
66718
+ }
66719
+ return;
66720
+ }
66675
66721
this.projectService.updateTypingsForProject(response);
66676
- if (response.kind == "set" && this.socket) {
66722
+ if (response.kind == server.ActionSet && this.socket) {
66677
66723
this.sendEvent(0, "setTypings", response);
66678
66724
}
66679
66725
};
66680
66726
return NodeTypingsInstaller;
66681
66727
}());
66682
66728
var IOSession = (function (_super) {
66683
66729
__extends(IOSession, _super);
66684
- function IOSession(host, cancellationToken, installerEventPort, canUseEvents, useSingleInferredProject, disableAutomaticTypingAcquisition, globalTypingsCacheLocation, logger) {
66685
- return _super.call(this, host, cancellationToken, useSingleInferredProject, disableAutomaticTypingAcquisition
66686
- ? server.nullTypingsInstaller
66687
- : new NodeTypingsInstaller(logger, host, installerEventPort, globalTypingsCacheLocation, host.newLine), Buffer.byteLength, process.hrtime, logger, canUseEvents) || this;
66730
+ function IOSession(host, cancellationToken, installerEventPort, canUseEvents, useSingleInferredProject, disableAutomaticTypingAcquisition, globalTypingsCacheLocation, telemetryEnabled, logger) {
66731
+ var _this;
66732
+ var typingsInstaller = disableAutomaticTypingAcquisition
66733
+ ? undefined
66734
+ : new NodeTypingsInstaller(telemetryEnabled, logger, host, installerEventPort, globalTypingsCacheLocation, host.newLine);
66735
+ _this = _super.call(this, host, cancellationToken, useSingleInferredProject, typingsInstaller || server.nullTypingsInstaller, Buffer.byteLength, process.hrtime, logger, canUseEvents) || this;
66736
+ if (telemetryEnabled && typingsInstaller) {
66737
+ typingsInstaller.setTelemetrySender(_this);
66738
+ }
66739
+ return _this;
66688
66740
}
66689
66741
IOSession.prototype.exit = function () {
66690
66742
this.logger.info("Exiting...");
@@ -66864,17 +66916,16 @@ var ts;
66864
66916
;
66865
66917
var eventPort;
66866
66918
{
66867
- var index = sys.args.indexOf("--eventPort");
66868
- if (index >= 0 && index < sys.args.length - 1) {
66869
- var v = parseInt(sys.args[index + 1]);
66870
- if (!isNaN(v)) {
66871
- eventPort = v;
66872
- }
66919
+ var str = server.findArgument("--eventPort");
66920
+ var v = str && parseInt(str);
66921
+ if (!isNaN(v)) {
66922
+ eventPort = v;
66873
66923
}
66874
66924
}
66875
- var useSingleInferredProject = sys.args.indexOf("--useSingleInferredProject") >= 0;
66876
- var disableAutomaticTypingAcquisition = sys.args.indexOf("--disableAutomaticTypingAcquisition") >= 0;
66877
- var ioSession = new IOSession(sys, cancellationToken, eventPort, eventPort === undefined, useSingleInferredProject, disableAutomaticTypingAcquisition, getGlobalTypingsCacheLocation(), logger);
66925
+ var useSingleInferredProject = server.hasArgument("--useSingleInferredProject");
66926
+ var disableAutomaticTypingAcquisition = server.hasArgument("--disableAutomaticTypingAcquisition");
66927
+ var telemetryEnabled = server.hasArgument(server.Arguments.EnableTelemetry);
66928
+ var ioSession = new IOSession(sys, cancellationToken, eventPort, eventPort === undefined, useSingleInferredProject, disableAutomaticTypingAcquisition, getGlobalTypingsCacheLocation(), telemetryEnabled, logger);
66878
66929
process.on("uncaughtException", function (err) {
66879
66930
ioSession.logError(err, "unknown");
66880
66931
});
0 commit comments