@vscode/telemetry-extractor 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/node.js.yml +7 -4
- package/eslint.config.js +0 -2
- package/out/lib/declarations.js.map +1 -1
- package/out/lib/object-converter.js +1 -1
- package/out/lib/object-converter.js.map +1 -1
- package/out/lib/save-declarations.js +23 -1
- package/out/lib/save-declarations.js.map +1 -1
- package/out/lib/ts-parser.js +16 -1
- package/out/lib/ts-parser.js.map +1 -1
- package/package.json +3 -4
- package/src/lib/declarations.ts +3 -2
- package/src/lib/fragments.ts +1 -1
- package/src/lib/object-converter.ts +3 -3
- package/src/lib/save-declarations.ts +27 -4
- package/src/lib/ts-parser.ts +20 -2
|
@@ -9,20 +9,23 @@ on:
|
|
|
9
9
|
pull_request:
|
|
10
10
|
branches: [ main ]
|
|
11
11
|
|
|
12
|
+
permissions: {}
|
|
13
|
+
|
|
12
14
|
jobs:
|
|
13
15
|
build:
|
|
14
|
-
|
|
15
16
|
runs-on: ubuntu-latest
|
|
16
17
|
|
|
17
18
|
strategy:
|
|
18
19
|
matrix:
|
|
19
|
-
node-version: [
|
|
20
|
+
node-version: [22.x]
|
|
20
21
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
|
21
22
|
|
|
22
23
|
steps:
|
|
23
|
-
- uses: actions/checkout@
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
with:
|
|
26
|
+
persist-credentials: false
|
|
24
27
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
25
|
-
uses: actions/setup-node@
|
|
28
|
+
uses: actions/setup-node@v4
|
|
26
29
|
with:
|
|
27
30
|
node-version: ${{ matrix.node-version }}
|
|
28
31
|
cache: 'npm'
|
package/eslint.config.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
const eslint = require('@eslint/js');
|
|
2
2
|
const tseslint = require('typescript-eslint');
|
|
3
|
-
const pluginSecurity = require('eslint-plugin-security');
|
|
4
3
|
|
|
5
4
|
|
|
6
5
|
module.exports = tseslint.config(
|
|
7
6
|
eslint.configs.recommended,
|
|
8
|
-
pluginSecurity.configs.recommended,
|
|
9
7
|
...tseslint.configs.recommended,
|
|
10
8
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../src/lib/declarations.ts"],"names":[],"mappings":";;;AAGA,qCAAmD;AACnD,2DAAiE;
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../src/lib/declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ const keywords = __importStar(require("./keywords"));
|
|
|
31
31
|
async function transformOutput(output) {
|
|
32
32
|
// If there's no events or common properties, we emit a null object
|
|
33
33
|
if (output.events.dataPoints.length === 0 && output.commonProperties.properties.length === 0) {
|
|
34
|
-
return Object.create(null);
|
|
34
|
+
return { events: Object.create(null), commonProperties: Object.create(null) };
|
|
35
35
|
}
|
|
36
36
|
const newEvents = Object.create(null);
|
|
37
37
|
const oldEvents = output.events.dataPoints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-converter.js","sourceRoot":"","sources":["../../src/lib/object-converter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,2DAA+C;AAC/C,qCAA8C;AAC9C,qDAAuC;AAEvC,4EAA4E;AAErE,KAAK,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"object-converter.js","sourceRoot":"","sources":["../../src/lib/object-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ const common_properties_1 = require("./common-properties");
|
|
|
36
36
|
const ts_parser_1 = require("./ts-parser");
|
|
37
37
|
const debug_patch_1 = require("./debug-patch");
|
|
38
38
|
const logger_1 = require("./logger");
|
|
39
|
+
const fragments_1 = require("./fragments");
|
|
39
40
|
function writeToFile(outputDir, contents, fileName, emitProgressMessage) {
|
|
40
41
|
if (Object.keys(contents).length === 0) {
|
|
41
42
|
(0, logger_1.logMessage)(`...no events found, skipping file emmision!`, !emitProgressMessage);
|
|
@@ -55,9 +56,29 @@ async function getResolvedDeclaration(sourceDirs, excludedDirs, options) {
|
|
|
55
56
|
return declarations;
|
|
56
57
|
}
|
|
57
58
|
exports.getResolvedDeclaration = getResolvedDeclaration;
|
|
59
|
+
/**
|
|
60
|
+
* Validate the outputted declaration. Looks to ensure that an event property isn't overloaded by a common property
|
|
61
|
+
* @param declarations The declaration output
|
|
62
|
+
*/
|
|
63
|
+
function validateOutputtedDeclarations(declarations) {
|
|
64
|
+
const commonProperties = declarations.commonProperties;
|
|
65
|
+
const events = declarations.events;
|
|
66
|
+
let failedValidation = false;
|
|
67
|
+
for (const event in events) {
|
|
68
|
+
for (const property in events[event]) {
|
|
69
|
+
if (commonProperties[property]) {
|
|
70
|
+
failedValidation = true;
|
|
71
|
+
console.error(`Property ${property} on event ${event} is overloaded by a common property`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (failedValidation) {
|
|
76
|
+
throw new Error('Validation failed, please see logs for more information');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
58
79
|
async function extractAndResolveDeclarations(sourceSpecs) {
|
|
59
80
|
try {
|
|
60
|
-
const allDeclarations = { events: new events_1.Events(), commonProperties: new common_properties_1.CommonProperties() };
|
|
81
|
+
const allDeclarations = { events: new events_1.Events(), commonProperties: new common_properties_1.CommonProperties(), fragments: new fragments_1.Fragments() };
|
|
61
82
|
const allTypeScriptDeclarations = Object.create(null);
|
|
62
83
|
for (const spec of sourceSpecs) {
|
|
63
84
|
const declarations = await getResolvedDeclaration(spec.sourceDirs, spec.excludedDirs, spec.parserOptions);
|
|
@@ -96,6 +117,7 @@ async function extractAndResolveDeclarations(sourceSpecs) {
|
|
|
96
117
|
}
|
|
97
118
|
formattedDeclarations.events[dec] = allTypeScriptDeclarations[dec];
|
|
98
119
|
}
|
|
120
|
+
validateOutputtedDeclarations(formattedDeclarations);
|
|
99
121
|
return Promise.resolve(formattedDeclarations);
|
|
100
122
|
}
|
|
101
123
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-declarations.js","sourceRoot":"","sources":["../../src/lib/save-declarations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,2CAA6B;AAC7B,qCAAkC;AAClC,0DAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"save-declarations.js","sourceRoot":"","sources":["../../src/lib/save-declarations.ts"],"names":[],"mappings":"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"}
|
package/out/lib/ts-parser.js
CHANGED
|
@@ -33,6 +33,21 @@ const path = __importStar(require("path"));
|
|
|
33
33
|
const ripgrep_1 = require("@vscode/ripgrep");
|
|
34
34
|
const operations_1 = require("./operations");
|
|
35
35
|
const events_1 = require("./events");
|
|
36
|
+
function isMeasurement(type) {
|
|
37
|
+
if (type.isNumber()) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
if (type.isBoolean()) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
if (type.isUnion()) {
|
|
44
|
+
const unionTypes = type.getUnionTypes();
|
|
45
|
+
return unionTypes.length === 2 &&
|
|
46
|
+
(unionTypes.some(t => t.isNumber()) || unionTypes.some(t => t.isBoolean())) &&
|
|
47
|
+
unionTypes.some(t => t.isUndefined());
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
36
51
|
class NodeVisitor {
|
|
37
52
|
pl_node;
|
|
38
53
|
prop_name;
|
|
@@ -223,7 +238,7 @@ class TsParser {
|
|
|
223
238
|
return;
|
|
224
239
|
}
|
|
225
240
|
const propType = prop.getTypeAtLocation(valueDeclaration);
|
|
226
|
-
if (
|
|
241
|
+
if (isMeasurement(propType)) {
|
|
227
242
|
const eventToUpdate = events[event_name][propName];
|
|
228
243
|
if (!eventToUpdate) {
|
|
229
244
|
return;
|
package/out/lib/ts-parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../src/lib/ts-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../src/lib/ts-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vscode/telemetry-extractor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"description": "Extracts telemetry from VS Code",
|
|
5
5
|
"main": "out/index.js",
|
|
6
6
|
"typings": "vscode-telemetry-extractor.d.ts",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@vscode/ripgrep": "^1.15.10",
|
|
27
|
-
"command-line-args": "^
|
|
28
|
-
"ts-morph": "^
|
|
27
|
+
"command-line-args": "^6.0.1",
|
|
28
|
+
"ts-morph": "^25.0.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/command-line-args": "^5.2.3",
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
|
35
35
|
"@typescript-eslint/parser": "^7.1.0",
|
|
36
36
|
"eslint": "^8.57.0",
|
|
37
|
-
"eslint-plugin-security": "^2.1.1",
|
|
38
37
|
"mocha": "^10.2.0",
|
|
39
38
|
"nyc": "^15.1.0",
|
|
40
39
|
"source-map-support": "^0.5.21",
|
package/src/lib/declarations.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Fragments } from "./fragments";
|
|
4
4
|
import { Events, Include, Inline } from "./events";
|
|
5
5
|
import { CommonProperties, Property } from "./common-properties";
|
|
6
|
+
import type { Events as OutputEvents, CommonProperties as OutputCommonProperties } from "../../vscode-telemetry-extractor";
|
|
6
7
|
|
|
7
8
|
export interface Declarations {
|
|
8
9
|
fragments: Fragments;
|
|
@@ -12,8 +13,8 @@ export interface Declarations {
|
|
|
12
13
|
|
|
13
14
|
// We don't output Fragments as they don't really provide much context on their own
|
|
14
15
|
export interface OutputtedDeclarations {
|
|
15
|
-
events:
|
|
16
|
-
commonProperties:
|
|
16
|
+
events: OutputEvents;
|
|
17
|
+
commonProperties: OutputCommonProperties;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
function resolveIncludes(target: Events | Fragments, fragments: Fragments) {
|
package/src/lib/fragments.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
-
import { ITelemetryData, ITelemetryDataPoint,
|
|
3
|
+
import { ITelemetryData, ITelemetryDataPoint, IWildcard } from './telemetry-interfaces';
|
|
4
4
|
import { Property } from './common-properties';
|
|
5
5
|
import { Include, Inline, Metadata } from './events';
|
|
6
6
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
-
import { OutputtedDeclarations } from "./declarations";
|
|
3
|
+
import { Declarations, OutputtedDeclarations } from "./declarations";
|
|
4
4
|
import { Property } from "./common-properties";
|
|
5
5
|
import { Metadata, Wildcard } from "./events";
|
|
6
6
|
import * as keywords from './keywords';
|
|
7
7
|
|
|
8
8
|
// Converts the declarations array to an object format for easy readability.
|
|
9
9
|
|
|
10
|
-
export async function transformOutput(output:
|
|
10
|
+
export async function transformOutput(output: Declarations): Promise<OutputtedDeclarations> {
|
|
11
11
|
// If there's no events or common properties, we emit a null object
|
|
12
12
|
if (output.events.dataPoints.length === 0 && output.commonProperties.properties.length === 0) {
|
|
13
|
-
return Object.create(null);
|
|
13
|
+
return { events: Object.create(null), commonProperties: Object.create(null) };
|
|
14
14
|
}
|
|
15
15
|
const newEvents = Object.create(null);
|
|
16
16
|
const oldEvents = output.events.dataPoints;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import { Parser } from './parser';
|
|
5
5
|
import * as fileWriter from './file-writer';
|
|
6
|
-
import { resolveDeclarations, OutputtedDeclarations } from './declarations';
|
|
6
|
+
import { resolveDeclarations, OutputtedDeclarations, Declarations } from './declarations';
|
|
7
7
|
import { transformOutput } from './object-converter';
|
|
8
8
|
import { Events } from './events';
|
|
9
9
|
import { CommonProperties } from './common-properties';
|
|
@@ -11,6 +11,7 @@ import { TsParser } from './ts-parser';
|
|
|
11
11
|
import { patchDebugEvents } from './debug-patch';
|
|
12
12
|
import { ParserOptions, SourceSpec } from './source-spec';
|
|
13
13
|
import { logMessage } from './logger';
|
|
14
|
+
import { Fragments } from './fragments';
|
|
14
15
|
|
|
15
16
|
export function writeToFile(outputDir: string, contents: object, fileName: string, emitProgressMessage: boolean) {
|
|
16
17
|
if (Object.keys(contents).length === 0) {
|
|
@@ -31,9 +32,30 @@ export async function getResolvedDeclaration(sourceDirs: Array<string>, excluded
|
|
|
31
32
|
return declarations;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Validate the outputted declaration. Looks to ensure that an event property isn't overloaded by a common property
|
|
37
|
+
* @param declarations The declaration output
|
|
38
|
+
*/
|
|
39
|
+
function validateOutputtedDeclarations(declarations: OutputtedDeclarations) {
|
|
40
|
+
const commonProperties = declarations.commonProperties;
|
|
41
|
+
const events = declarations.events;
|
|
42
|
+
let failedValidation = false;
|
|
43
|
+
for (const event in events) {
|
|
44
|
+
for (const property in events[event]) {
|
|
45
|
+
if (commonProperties[property]) {
|
|
46
|
+
failedValidation = true;
|
|
47
|
+
console.error(`Property ${property} on event ${event} is overloaded by a common property`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (failedValidation) {
|
|
52
|
+
throw new Error('Validation failed, please see logs for more information');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export async function extractAndResolveDeclarations(sourceSpecs: Array<SourceSpec>): Promise<OutputtedDeclarations> {
|
|
35
57
|
try {
|
|
36
|
-
const allDeclarations:
|
|
58
|
+
const allDeclarations: Declarations = { events: new Events(), commonProperties: new CommonProperties(), fragments: new Fragments() };
|
|
37
59
|
const allTypeScriptDeclarations = Object.create(null);
|
|
38
60
|
for (const spec of sourceSpecs) {
|
|
39
61
|
const declarations = await getResolvedDeclaration(spec.sourceDirs, spec.excludedDirs, spec.parserOptions);
|
|
@@ -63,7 +85,7 @@ export async function extractAndResolveDeclarations(sourceSpecs: Array<SourceSpe
|
|
|
63
85
|
allDeclarations.events.dataPoints = allDeclarations.events.dataPoints.concat(declarations.events.dataPoints);
|
|
64
86
|
Object.assign(allTypeScriptDeclarations, typescriptDeclarations);
|
|
65
87
|
}
|
|
66
|
-
const formattedDeclarations
|
|
88
|
+
const formattedDeclarations = await transformOutput(allDeclarations);
|
|
67
89
|
for (const dec in allTypeScriptDeclarations) {
|
|
68
90
|
// If there's typescript declarations but we returned a null object
|
|
69
91
|
// We must add the event container to the declarations object
|
|
@@ -72,6 +94,7 @@ export async function extractAndResolveDeclarations(sourceSpecs: Array<SourceSpe
|
|
|
72
94
|
}
|
|
73
95
|
formattedDeclarations.events[dec] = allTypeScriptDeclarations[dec];
|
|
74
96
|
}
|
|
97
|
+
validateOutputtedDeclarations(formattedDeclarations);
|
|
75
98
|
return Promise.resolve(formattedDeclarations);
|
|
76
99
|
} catch (error) {
|
|
77
100
|
console.error(`Error: ${error}`);
|
package/src/lib/ts-parser.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
-
import { Project, SyntaxKind, Symbol, Node, CallExpression } from "ts-morph";
|
|
3
|
+
import { Project, SyntaxKind, Symbol, Node, CallExpression, Type } from "ts-morph";
|
|
4
4
|
import * as fs from 'fs';
|
|
5
5
|
import * as cp from 'child_process';
|
|
6
6
|
import * as path from 'path';
|
|
@@ -9,6 +9,24 @@ import { makeExclusionsRelativeToSource } from "./operations";
|
|
|
9
9
|
import { Event, Metadata } from './events';
|
|
10
10
|
import { Property } from "./common-properties";
|
|
11
11
|
|
|
12
|
+
function isMeasurement(type: Type) {
|
|
13
|
+
if (type.isNumber()) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
if (type.isBoolean()) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (type.isUnion()) {
|
|
21
|
+
const unionTypes = type.getUnionTypes();
|
|
22
|
+
return unionTypes.length === 2 &&
|
|
23
|
+
(unionTypes.some(t => t.isNumber()) || unionTypes.some(t => t.isBoolean())) &&
|
|
24
|
+
unionTypes.some(t => t.isUndefined());
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
12
30
|
class NodeVisitor {
|
|
13
31
|
|
|
14
32
|
private pl_node: Node;
|
|
@@ -202,7 +220,7 @@ export class TsParser {
|
|
|
202
220
|
return;
|
|
203
221
|
}
|
|
204
222
|
const propType = prop.getTypeAtLocation(valueDeclaration);
|
|
205
|
-
if (
|
|
223
|
+
if (isMeasurement(propType)) {
|
|
206
224
|
const eventToUpdate = events[event_name][propName];
|
|
207
225
|
if (!eventToUpdate) {
|
|
208
226
|
return;
|