Skip to content

Commit af56708

Browse files
authored
Updating required packages. (#19375)
* Updating required packages. * fix regex. * More fixes. * Fix tests.
1 parent a63dd9e commit af56708

File tree

9 files changed

+132
-45
lines changed

9 files changed

+132
-45
lines changed

package-lock.json

Lines changed: 103 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1785,6 +1785,7 @@
17851785
},
17861786
"dependencies": {
17871787
"@vscode/jupyter-lsp-middleware": "^0.2.46",
1788+
"@vscode/extension-telemetry": "^0.6.2",
17881789
"arch": "^2.1.0",
17891790
"diff-match-patch": "^1.0.0",
17901791
"fs-extra": "^10.0.1",
@@ -1811,7 +1812,6 @@
18111812
"untildify": "^4.0.0",
18121813
"vscode-debugadapter": "^1.28.0",
18131814
"vscode-debugprotocol": "^1.28.0",
1814-
"vscode-extension-telemetry": "0.4.5",
18151815
"vscode-jsonrpc": "8.0.2-next.1",
18161816
"vscode-languageclient": "8.0.2-next.5",
18171817
"vscode-languageserver": "8.0.2-next.5",

src/client/activation/languageClientMiddlewareBase.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ export class LanguageClientMiddlewareBase implements Middleware {
510510
this.lastCaptured.set(lspMethod, now);
511511
this.eventCount += 1;
512512

513-
// Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry.
513+
// Replace all slashes in the method name so it doesn't get scrubbed by @vscode/extension-telemetry.
514514
const formattedMethod = lspMethod.replace(/\//g, '.');
515515

516516
const properties = {

src/client/activation/node/languageServerProxy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ export class NodeLanguageServerProxy implements ILanguageServerProxy {
173173
const eventName = telemetryEvent.EventName || EventName.LANGUAGE_SERVER_TELEMETRY;
174174
const formattedProperties = {
175175
...telemetryEvent.Properties,
176-
// Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry.
176+
// Replace all slashes in the method name so it doesn't get scrubbed by @vscode/extension-telemetry.
177177
method: telemetryEvent.Properties.method?.replace(/\//g, '.'),
178178
};
179179
sendTelemetryEvent(eventName, telemetryEvent.Measurements, formattedProperties, telemetryEvent.Exception);

src/client/browser/extension.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import '../../setupNls';
55
import * as vscode from 'vscode';
6-
import TelemetryReporter from 'vscode-extension-telemetry';
6+
import TelemetryReporter from '@vscode/extension-telemetry';
77
import { LanguageClientOptions } from 'vscode-languageclient';
88
import { LanguageClient } from 'vscode-languageclient/browser';
99
import { LanguageClientMiddlewareBase } from '../activation/languageClientMiddlewareBase';
@@ -99,7 +99,7 @@ async function runPylance(
9999
const eventName = telemetryEvent.EventName || EventName.LANGUAGE_SERVER_TELEMETRY;
100100
const formattedProperties = {
101101
...telemetryEvent.Properties,
102-
// Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry.
102+
// Replace all slashes in the method name so it doesn't get scrubbed by @vscode/extension-telemetry.
103103
method: telemetryEvent.Properties.method?.replace(/\//g, '.'),
104104
};
105105
sendTelemetryEventBrowser(
@@ -135,8 +135,12 @@ function getTelemetryReporter() {
135135
const extensionVersion = extension.packageJSON.version;
136136

137137
// eslint-disable-next-line global-require
138-
const Reporter = require('vscode-extension-telemetry').default as typeof TelemetryReporter;
139-
telemetryReporter = new Reporter(extensionId, extensionVersion, AppinsightsKey, true);
138+
const Reporter = require('@vscode/extension-telemetry').default as typeof TelemetryReporter;
139+
telemetryReporter = new Reporter(extensionId, extensionVersion, AppinsightsKey, true, [
140+
{
141+
lookup: /(errorName|errorMessage|errorStack)/g,
142+
},
143+
]);
140144

141145
return telemetryReporter;
142146
}
@@ -195,9 +199,7 @@ function sendTelemetryEventBrowser(
195199
};
196200
Object.assign(customProperties, errorProps);
197201

198-
// To avoid hard coding the names and forgetting to update later.
199-
const errorPropNames = Object.getOwnPropertyNames(errorProps);
200-
reporter.sendTelemetryErrorEvent(eventNameSent, customProperties, measures, errorPropNames);
202+
reporter.sendTelemetryErrorEvent(eventNameSent, customProperties, measures);
201203
} else {
202204
reporter.sendTelemetryEvent(eventNameSent, customProperties, measures);
203205
}

src/client/telemetry/index.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Copyright (c) Microsoft Corporation. All rights reserved.
33
// Licensed under the MIT License.
44

5-
import TelemetryReporter from 'vscode-extension-telemetry/lib/telemetryReporter';
5+
import TelemetryReporter from '@vscode/extension-telemetry/lib/telemetryReporter';
66

77
import { DiagnosticCodes } from '../application/diagnostics/constants';
88
import { IWorkspaceService } from '../common/application/types';
@@ -32,7 +32,7 @@ import type { LinterTrigger, TestTool } from './types';
3232
function isTelemetrySupported(): boolean {
3333
try {
3434
const vsc = require('vscode');
35-
const reporter = require('vscode-extension-telemetry');
35+
const reporter = require('@vscode/extension-telemetry');
3636

3737
return vsc !== undefined && reporter !== undefined;
3838
} catch {
@@ -86,8 +86,12 @@ function getTelemetryReporter() {
8686
const extension = extensions.getExtension(extensionId)!;
8787
const extensionVersion = extension.packageJSON.version;
8888

89-
const Reporter = require('vscode-extension-telemetry').default as typeof TelemetryReporter;
90-
telemetryReporter = new Reporter(extensionId, extensionVersion, AppinsightsKey, true);
89+
const Reporter = require('@vscode/extension-telemetry').default as typeof TelemetryReporter;
90+
telemetryReporter = new Reporter(extensionId, extensionVersion, AppinsightsKey, true, [
91+
{
92+
lookup: /(errorName|errorMessage|errorStack)/g,
93+
},
94+
]);
9195

9296
return telemetryReporter;
9397
}
@@ -150,10 +154,7 @@ export function sendTelemetryEvent<P extends IEventNamePropertyMapping, E extend
150154
errorStack: ex.stack ?? '',
151155
};
152156
Object.assign(customProperties, errorProps);
153-
154-
// To avoid hardcoding the names and forgetting to update later.
155-
const errorPropNames = Object.getOwnPropertyNames(errorProps);
156-
reporter.sendTelemetryErrorEvent(eventNameSent, customProperties, measures, errorPropNames);
157+
reporter.sendTelemetryErrorEvent(eventNameSent, customProperties, measures);
157158
} else {
158159
reporter.sendTelemetryEvent(eventNameSent, customProperties, measures);
159160
}

src/test/debugger/extension/adapter/factory.unit.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ suite('Debugging - Adapter Factory', () => {
6262
process.env.VSC_PYTHON_UNIT_TEST = undefined;
6363
process.env.VSC_PYTHON_CI_TEST = undefined;
6464
rewiremock.enable();
65-
rewiremock('vscode-extension-telemetry').with({ default: Reporter });
65+
rewiremock('@vscode/extension-telemetry').with({ default: Reporter });
6666

6767
const configurationService = mock(ConfigurationService);
6868
when(configurationService.getSettings(undefined)).thenReturn(({

src/test/telemetry/index.unit.test.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,20 @@ suite('Telemetry', () => {
2727
public static eventName: string[] = [];
2828
public static properties: Record<string, string>[] = [];
2929
public static measures: {}[] = [];
30-
public static errorProps: string[] | undefined;
3130
public static exception: Error | undefined;
3231

3332
public static clear() {
3433
Reporter.eventName = [];
3534
Reporter.properties = [];
3635
Reporter.measures = [];
37-
Reporter.errorProps = undefined;
3836
}
3937
public sendTelemetryEvent(eventName: string, properties?: {}, measures?: {}) {
4038
Reporter.eventName.push(eventName);
4139
Reporter.properties.push(properties!);
4240
Reporter.measures.push(measures!);
4341
}
44-
public sendTelemetryErrorEvent(eventName: string, properties?: {}, measures?: {}, errorProps?: string[]) {
42+
public sendTelemetryErrorEvent(eventName: string, properties?: {}, measures?: {}) {
4543
this.sendTelemetryEvent(eventName, properties, measures);
46-
Reporter.errorProps = errorProps;
4744
}
4845
public sendTelemetryException(_error: Error, _properties?: {}, _measures?: {}): void {
4946
throw new Error('sendTelemetryException is unsupported');
@@ -97,7 +94,7 @@ suite('Telemetry', () => {
9794

9895
test('Send Telemetry', () => {
9996
rewiremock.enable();
100-
rewiremock('vscode-extension-telemetry').with({ default: Reporter });
97+
rewiremock('@vscode/extension-telemetry').with({ default: Reporter });
10198

10299
const eventName = 'Testing';
103100
const properties = { hello: 'world', foo: 'bar' };
@@ -111,7 +108,7 @@ suite('Telemetry', () => {
111108
});
112109
test('Send Telemetry with no properties', () => {
113110
rewiremock.enable();
114-
rewiremock('vscode-extension-telemetry').with({ default: Reporter });
111+
rewiremock('@vscode/extension-telemetry').with({ default: Reporter });
115112

116113
const eventName = 'Testing';
117114

@@ -123,7 +120,7 @@ suite('Telemetry', () => {
123120
});
124121
test('Send Telemetry with shared properties', () => {
125122
rewiremock.enable();
126-
rewiremock('vscode-extension-telemetry').with({ default: Reporter });
123+
rewiremock('@vscode/extension-telemetry').with({ default: Reporter });
127124

128125
const eventName = 'Testing';
129126
const properties = { hello: 'world', foo: 'bar' };
@@ -140,7 +137,7 @@ suite('Telemetry', () => {
140137
});
141138
test('Shared properties will replace existing ones', () => {
142139
rewiremock.enable();
143-
rewiremock('vscode-extension-telemetry').with({ default: Reporter });
140+
rewiremock('@vscode/extension-telemetry').with({ default: Reporter });
144141

145142
const eventName = 'Testing';
146143
const properties = { hello: 'world', foo: 'bar' };
@@ -158,7 +155,7 @@ suite('Telemetry', () => {
158155
test('Send Exception Telemetry', () => {
159156
rewiremock.enable();
160157
const error = new Error('Boo');
161-
rewiremock('vscode-extension-telemetry').with({ default: Reporter });
158+
rewiremock('@vscode/extension-telemetry').with({ default: Reporter });
162159

163160
const eventName = 'Testing';
164161
const measures = { start: 123, end: 987 };
@@ -176,6 +173,5 @@ suite('Telemetry', () => {
176173
expect(Reporter.eventName).to.deep.equal([eventName]);
177174
expect(Reporter.properties).to.deep.equal([expectedProperties]);
178175
expect(Reporter.measures).to.deep.equal([measures]);
179-
expect(Reporter.errorProps).to.deep.equal(['errorName', 'errorMessage', 'errorStack']);
180176
});
181177
});

src/test/vscode-mock.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export function initialize() {
5050
if (request === 'vscode') {
5151
return mockedVSCode;
5252
}
53-
if (request === 'vscode-extension-telemetry') {
53+
if (request === '@vscode/extension-telemetry') {
5454
return { default: vscMockTelemetryReporter as any };
5555
}
5656
// less files need to be in import statements to be converted to css

0 commit comments

Comments
 (0)