@vscode/telemetry-extractor 1.18.0 → 1.20.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/README.md +1 -3
- package/eslint.config.js +10 -1
- package/out/extractor.js +1 -1
- package/out/extractor.js.map +1 -1
- package/out/lib/declarations.js +1 -1
- package/out/lib/declarations.js.map +1 -1
- package/out/lib/file-writer.js +2 -2
- package/out/lib/file-writer.js.map +1 -1
- package/out/lib/object-converter.js +1 -0
- package/out/lib/object-converter.js.map +1 -1
- package/out/lib/operations.js +80 -2
- package/out/lib/operations.js.map +1 -1
- package/out/lib/parser.js +29 -7
- package/out/lib/parser.js.map +1 -1
- package/out/lib/save-declarations.js +14 -1
- package/out/lib/save-declarations.js.map +1 -1
- package/out/lib/ts-parser.js +4 -4
- package/out/lib/ts-parser.js.map +1 -1
- package/package.json +10 -8
- package/src/extractor.ts +1 -1
- package/src/lib/declarations.ts +7 -7
- package/src/lib/file-writer.ts +7 -7
- package/src/lib/object-converter.ts +1 -0
- package/src/lib/operations.ts +86 -2
- package/src/lib/parser.ts +37 -9
- package/src/lib/save-declarations.ts +15 -1
- package/src/lib/ts-parser.ts +12 -12
package/README.md
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
# Telemetry Extractor for VS Code and associated source repositories
|
|
2
2
|
|
|
3
|
-
**Note**: This tool currently does not work in Windows CMD prompt or Powershell. On Windows you will need to use WSL or some other linux-like shell.
|
|
4
|
-
|
|
5
3
|
This tooling allows for the extraction of [GDPR formatted comments](./documentation/comment-code-annotations.md) from the VS Code source repository and
|
|
6
4
|
produces a JSON file containing the telemetry events which are collected.
|
|
7
5
|
|
|
8
6
|
## Prerequisites
|
|
9
7
|
|
|
10
|
-
* Node LTS (
|
|
8
|
+
* Node LTS (18.x) installed and in your path
|
|
11
9
|
|
|
12
10
|
## Setup
|
|
13
11
|
|
package/eslint.config.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
const eslint = require('@eslint/js');
|
|
2
2
|
const tseslint = require('typescript-eslint');
|
|
3
3
|
|
|
4
|
-
|
|
5
4
|
module.exports = tseslint.config(
|
|
5
|
+
{
|
|
6
|
+
ignores: ['out/**', 'src/tests/mocha/resources/**'],
|
|
7
|
+
},
|
|
6
8
|
eslint.configs.recommended,
|
|
7
9
|
...tseslint.configs.recommended,
|
|
10
|
+
{
|
|
11
|
+
files: ['eslint.config.js'],
|
|
12
|
+
rules: {
|
|
13
|
+
'@typescript-eslint/no-require-imports': 'off',
|
|
14
|
+
'no-undef': 'off',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
8
17
|
);
|
package/out/extractor.js
CHANGED
|
@@ -44,7 +44,7 @@ if (cli_options_1.options.config) {
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
else if (cli_options_1.options.help || !cli_options_1.options.sourceDir) {
|
|
47
|
-
require('./cli-help');
|
|
47
|
+
Promise.resolve().then(() => __importStar(require('./cli-help')));
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
const parserOptions = {
|
package/out/extractor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAuC;AACvC,kCAAkC;AAClC,+CAAwC;AACxC,2CAA6B;AAC7B,qCAA8B;AAC9B,+DAAqF;AACrF,mDAA0F;AAC1F,yCAA0C;AAE1C,IAAI,qBAAO,CAAC,MAAM,EAAE,CAAC;IACjB,MAAM,WAAW,GAAG,IAAA,wCAA0B,EAAC,qBAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAA,iDAA6B,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;QAC7D,IAAI,qBAAO,CAAC,SAAS,EAAE,CAAC;YACpB,IAAA,+BAAW,EAAC,qBAAO,CAAC,SAAS,EAAE,YAAY,EAAE,qBAAO,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC,qBAAO,CAAC,MAAM,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;KAAM,IAAI,qBAAO,CAAC,IAAI,IAAI,CAAC,qBAAO,CAAC,SAAS,EAAE,CAAC;IAC5C,
|
|
1
|
+
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"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"}
|
package/out/lib/declarations.js
CHANGED
|
@@ -57,7 +57,7 @@ function resolveInlines(target, fragments) {
|
|
|
57
57
|
fragment.properties.forEach((prop) => {
|
|
58
58
|
if (prop instanceof common_properties_1.Property) {
|
|
59
59
|
// We create the new property in the format inlineName.propName keeping the rest the same
|
|
60
|
-
|
|
60
|
+
const currentProp = new common_properties_1.Property(`${property.inlineName}.${prop.name}`, prop.classification, prop.purpose, prop.expiration, prop.owner, prop.comment);
|
|
61
61
|
if (prop.endPoint) {
|
|
62
62
|
currentProp.endPoint = prop.endPoint;
|
|
63
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../src/lib/declarations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../src/lib/declarations.ts"],"names":[],"mappings":";;;AAGA,qCAAmD;AACnD,2DAAiE;AAejE,SAAS,eAAe,CAAC,MAA0B,EAAE,SAAoB;IACrE,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,QAAQ,YAAY,gBAAO,EAAE,CAAC;gBAC9B,wEAAwE;gBACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,OAAO,GAAG,IAAI,QAAQ,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,KAAK,IAAI,SAAS,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC1C,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC7C,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAC9D,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACJ,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChC,CAAC;oBACD,gFAAgF;oBAChF,0GAA0G;oBAC1G,CAAC,GAAG,CAAC,CAAC;gBACV,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,MAA0B,EAAE,SAAoB;IACpE,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,QAAQ,YAAY,eAAM,EAAE,CAAC;gBAC7B,sEAAsE;gBACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,OAAO,GAAG,KAAK,QAAQ,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,KAAK,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrC,sBAAsB;oBACtB,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC7C,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,IAAI,QAAQ,EAAE,CAAC;wBACX,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAClC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BACjC,IAAI,IAAI,YAAY,4BAAQ,EAAE,CAAC;gCAC3B,yFAAyF;gCACzF,MAAM,WAAW,GAAG,IAAI,4BAAQ,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gCACtJ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oCAChB,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gCACzC,CAAC;gCACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oCACrB,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gCACnD,CAAC;gCACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BACtC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAClD,CAAC;AAED,SAAgB,mBAAmB,CAAC,YAA0B,EAAE,OAAgB;IAC5E,IAAI,WAAW,GAAkB,EAAE,CAAC;IACpC,IAAI,aAAa,GAAkB,EAAE,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,uBAAuB,GAAG,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/F,MAAM,oBAAoB,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACzF,MAAM,wBAAwB,GAAG,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACjG,MAAM,qBAAqB,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAC3F,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACvE,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACtE,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpE,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACnE,oBAAoB;QACpB,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACxC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAC7E,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC5E,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC1E,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACzE,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxE,oCAAoC;QACpC,IAAI,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9D,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,eAAe,EAAE,CAAC,CAAC;QACpD,YAAY,CAAC,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC;QACxD,YAAY,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAClD,YAAY,CAAC,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC;QACzD,YAAY,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC;IACvD,CAAC;SAAM,CAAC;QACJ,YAAY,CAAC,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC/F,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACzF,YAAY,CAAC,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAChG,YAAY,CAAC,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9F,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC;AAC/H,CAAC;AAtCD,kDAsCC"}
|
package/out/lib/file-writer.js
CHANGED
|
@@ -35,7 +35,7 @@ const path = __importStar(require("path"));
|
|
|
35
35
|
*/
|
|
36
36
|
async function writeFile(outputFile, contents) {
|
|
37
37
|
const directory = path.dirname(outputFile);
|
|
38
|
-
return mkdirp(directory).then((
|
|
38
|
+
return mkdirp(directory).then(() => {
|
|
39
39
|
return new Promise((resolve, reject) => {
|
|
40
40
|
fs.writeFile(outputFile, contents, { encoding: 'utf8' }, (err) => {
|
|
41
41
|
if (err) {
|
|
@@ -54,7 +54,7 @@ async function mkdirp(dir) {
|
|
|
54
54
|
return mkdir(dir)
|
|
55
55
|
.then(null, function (err) {
|
|
56
56
|
if (err && err.code === 'ENOENT') {
|
|
57
|
-
|
|
57
|
+
const parent = path.dirname(dir);
|
|
58
58
|
if (parent !== dir) { // if not arrived at root
|
|
59
59
|
return mkdirp(parent)
|
|
60
60
|
.then(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/lib/file-writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,uCAAyB;AACzB,2CAA6B;AAE7B;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,QAAgB;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/lib/file-writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,uCAAyB;AACzB,2CAA6B;AAE7B;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,QAAgB;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC/B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,GAAiC,EAAE,EAAE;gBAC3F,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,8BAaC;AAED,+EAA+E;AAC/E,KAAK,UAAU,MAAM,CAAC,GAAW;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC;SACZ,IAAI,CAAC,IAAI,EAAE,UAAU,GAA0B;QAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,yBAAyB;gBAC3C,OAAO,MAAM,CAAC,MAAM,CAAC;qBAChB,IAAI,CAAC;oBACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACX,CAAC;QACL,CAAC;QACD,MAAM,GAAG,CAAC;IACd,CAAC,CAAC,CAAC;AACX,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,KAAK,CAAC,GAAW;IAC5B,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,GAAiC;YACrD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -46,6 +46,7 @@ async function transformOutput(output) {
|
|
|
46
46
|
if (property instanceof events_1.Wildcard) {
|
|
47
47
|
newEvents[event.name][keywords.wildcard] = newEvents[event.name][keywords.wildcard] ? newEvents[event.name][keywords.wildcard] : [];
|
|
48
48
|
for (const entry of property.entries) {
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
50
|
const found = newEvents[event.name][keywords.wildcard].find((e) => {
|
|
50
51
|
return e[keywords.prefix] === entry.prefix.toLowerCase();
|
|
51
52
|
});
|
|
@@ -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,MAAoB;IACtD,mEAAmE;IACnE,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC5B,2HAA2H;QAC3H,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,2DAA2D,CAAC,CAAC;QACzG,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,kFAAkF;QAClF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAmD,EAAE,CAAC;YAC/E,IAAI,QAAQ,YAAY,iBAAQ,EAAE,CAAC;gBAC/B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpI,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE;wBACnE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK;wBAAE,SAAS;oBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACjB,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;oBACzJ,CAAC;yBAAM,CAAC;wBACJ,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;oBAC7D,CAAC;oBACD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,YAAY,4BAAQ,EAAE,CAAC;gBACtC,gEAAgE;gBAChE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CAAC,iHAAiH,CAAC,CAAC;gBACvI,CAAC;gBACD,0DAA0D;gBAC1D,6EAA6E;gBAC7E,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC3D,IAAI,QAAQ,CAAC,aAAa;wBAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;oBAC/H,SAAS;gBACb,CAAC;gBACD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAClI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACtB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACjG,CAAC;gBACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACvF,CAAC;gBACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3F,CAAC;gBACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC7F,CAAC;gBACD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;oBACzB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;gBACvG,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,4DAA4D;gBAC5D,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9E,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;IAC/D,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QACzC,yDAAyD;QACzD,6EAA6E;QAC7E,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzD,IAAI,QAAQ,CAAC,aAAa;gBAAE,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC7H,SAAS;QACb,CAAC;QACD,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpB,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC3F,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzB,mBAAmB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;QACrG,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;AACxE,CAAC;
|
|
1
|
+
{"version":3,"file":"object-converter.js","sourceRoot":"","sources":["../../src/lib/object-converter.ts"],"names":[],"mappings":"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"}
|
package/out/lib/operations.js
CHANGED
|
@@ -30,6 +30,7 @@ const fragments_1 = require("./fragments");
|
|
|
30
30
|
const events_1 = require("./events");
|
|
31
31
|
const common_properties_1 = require("./common-properties");
|
|
32
32
|
const keywords = __importStar(require("./keywords"));
|
|
33
|
+
const path = __importStar(require("path"));
|
|
33
34
|
function merge(target, source) {
|
|
34
35
|
for (const item of source.dataPoints) {
|
|
35
36
|
const found = target.dataPoints.find((f) => {
|
|
@@ -37,6 +38,12 @@ function merge(target, source) {
|
|
|
37
38
|
});
|
|
38
39
|
// We combine their properties together if the event already exists
|
|
39
40
|
if (found) {
|
|
41
|
+
if (target instanceof events_1.Events && source instanceof events_1.Events && found instanceof events_1.Event && item instanceof events_1.Event) {
|
|
42
|
+
if (!sameEventDefinition(found, item)) {
|
|
43
|
+
throw new Error(`Duplicate telemetry event declaration '${item.name}' has conflicting details.`);
|
|
44
|
+
}
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
40
47
|
found.properties = found.properties.concat(item.properties);
|
|
41
48
|
}
|
|
42
49
|
else {
|
|
@@ -45,6 +52,72 @@ function merge(target, source) {
|
|
|
45
52
|
}
|
|
46
53
|
}
|
|
47
54
|
exports.merge = merge;
|
|
55
|
+
function sameEventDefinition(left, right) {
|
|
56
|
+
return stableSerialize(eventToComparable(left)) === stableSerialize(eventToComparable(right));
|
|
57
|
+
}
|
|
58
|
+
function eventToComparable(event) {
|
|
59
|
+
const properties = event.properties.map(propertyToComparable);
|
|
60
|
+
properties.sort((a, b) => stableSerialize(a).localeCompare(stableSerialize(b)));
|
|
61
|
+
return {
|
|
62
|
+
name: event.name,
|
|
63
|
+
properties
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function propertyToComparable(property) {
|
|
67
|
+
if (property instanceof common_properties_1.Property) {
|
|
68
|
+
return {
|
|
69
|
+
type: 'property',
|
|
70
|
+
name: property.name,
|
|
71
|
+
classification: property.classification,
|
|
72
|
+
purpose: property.purpose,
|
|
73
|
+
expiration: property.expiration,
|
|
74
|
+
owner: property.owner,
|
|
75
|
+
comment: property.comment,
|
|
76
|
+
endPoint: property.endPoint,
|
|
77
|
+
isMeasurement: property.isMeasurement
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (property instanceof events_1.Metadata) {
|
|
81
|
+
return {
|
|
82
|
+
type: 'metadata',
|
|
83
|
+
name: property.name,
|
|
84
|
+
value: property.value
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (property instanceof events_1.Include) {
|
|
88
|
+
return {
|
|
89
|
+
type: 'include',
|
|
90
|
+
includeNames: [...property.includeNames].sort()
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (property instanceof events_1.Inline) {
|
|
94
|
+
return {
|
|
95
|
+
type: 'inline',
|
|
96
|
+
inlineName: property.inlineName,
|
|
97
|
+
inlines: [...property.inlines].sort()
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
type: 'wildcard',
|
|
102
|
+
entries: property.entries.map(entry => ({
|
|
103
|
+
prefix: entry.prefix,
|
|
104
|
+
classification: entry.classification,
|
|
105
|
+
endpoint: entry.endpoint
|
|
106
|
+
})).sort((a, b) => stableSerialize(a).localeCompare(stableSerialize(b)))
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function stableSerialize(value) {
|
|
110
|
+
if (Array.isArray(value)) {
|
|
111
|
+
return `[${value.map(stableSerialize).join(',')}]`;
|
|
112
|
+
}
|
|
113
|
+
if (value && typeof value === 'object') {
|
|
114
|
+
const entries = Object.entries(value)
|
|
115
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
116
|
+
.map(([key, entryValue]) => `${JSON.stringify(key)}:${stableSerialize(entryValue)}`);
|
|
117
|
+
return `{${entries.join(',')}}`;
|
|
118
|
+
}
|
|
119
|
+
return JSON.stringify(value);
|
|
120
|
+
}
|
|
48
121
|
// Searches the object for an event or fragment of the specific name
|
|
49
122
|
// If found returns, if not found creates it, places it in the array, and then returns
|
|
50
123
|
function findOrCreate(searchTarget, name) {
|
|
@@ -63,6 +136,7 @@ function findOrCreate(searchTarget, name) {
|
|
|
63
136
|
return found;
|
|
64
137
|
}
|
|
65
138
|
exports.findOrCreate = findOrCreate;
|
|
139
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
140
|
function mergeWildcards(wildcard, target, applyEndpoints) {
|
|
67
141
|
let wildCard = target.properties.find((item) => {
|
|
68
142
|
return item instanceof events_1.Wildcard;
|
|
@@ -82,6 +156,7 @@ function mergeWildcards(wildcard, target, applyEndpoints) {
|
|
|
82
156
|
});
|
|
83
157
|
}
|
|
84
158
|
exports.mergeWildcards = mergeWildcards;
|
|
159
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
160
|
function populateProperties(properties, target, applyEndpoints = false) {
|
|
86
161
|
for (const propertyName in properties) {
|
|
87
162
|
const currentProperty = properties[propertyName];
|
|
@@ -116,8 +191,11 @@ exports.populateProperties = populateProperties;
|
|
|
116
191
|
function makeExclusionsRelativeToSource(sourceDir, excludedDirs) {
|
|
117
192
|
const relativeExclusions = [];
|
|
118
193
|
for (const excluded of excludedDirs) {
|
|
119
|
-
|
|
120
|
-
|
|
194
|
+
const rel = path.relative(sourceDir, excluded);
|
|
195
|
+
// Only include if the excluded dir is actually under sourceDir
|
|
196
|
+
if (rel && !rel.startsWith('..') && !path.isAbsolute(rel)) {
|
|
197
|
+
// Normalize to forward slashes for ripgrep glob compatibility
|
|
198
|
+
relativeExclusions.push(rel.split(path.sep).join('/'));
|
|
121
199
|
}
|
|
122
200
|
}
|
|
123
201
|
return relativeExclusions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/lib/operations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,2CAAkD;AAClD,qCAA6F;AAC7F,2DAA+C;AAC/C,qDAAuC;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/lib/operations.ts"],"names":[],"mappings":"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"}
|
package/out/lib/parser.js
CHANGED
|
@@ -47,7 +47,7 @@ class Parser {
|
|
|
47
47
|
this.lowerCaseEvents = lowerCaseEvents;
|
|
48
48
|
}
|
|
49
49
|
toRipGrepOption(dir) {
|
|
50
|
-
while (dir.startsWith('/')) {
|
|
50
|
+
while (dir.startsWith('/') || dir.startsWith('\\')) {
|
|
51
51
|
dir = dir.substr(1);
|
|
52
52
|
}
|
|
53
53
|
return ['--glob', `!${dir}/**`];
|
|
@@ -57,7 +57,7 @@ class Parser {
|
|
|
57
57
|
if (absoluteFilePath) {
|
|
58
58
|
const fileContents = fs.readFileSync(absoluteFilePath);
|
|
59
59
|
let match;
|
|
60
|
-
while (match = commentMatcher.exec(fileContents.toString())) {
|
|
60
|
+
while ((match = commentMatcher.exec(fileContents.toString()))) {
|
|
61
61
|
collector(absoluteFilePath, match);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -102,7 +102,7 @@ class Parser {
|
|
|
102
102
|
}
|
|
103
103
|
// Finds all files containing event fragments in the given directory
|
|
104
104
|
findFilesWithFragments(sourceDir) {
|
|
105
|
-
const ripgrepPattern = '
|
|
105
|
+
const ripgrepPattern = '/\\*\\s*__GDPR__FRAGMENT__';
|
|
106
106
|
return this.findFiles(ripgrepPattern, sourceDir);
|
|
107
107
|
}
|
|
108
108
|
///
|
|
@@ -131,11 +131,12 @@ class Parser {
|
|
|
131
131
|
}
|
|
132
132
|
// Find all files with complete events
|
|
133
133
|
findFilesWithEvents(sourceDir) {
|
|
134
|
-
const ripgrepPattern = '
|
|
134
|
+
const ripgrepPattern = '/\\*\\s*__GDPR__\\b';
|
|
135
135
|
return this.findFiles(ripgrepPattern, sourceDir);
|
|
136
136
|
}
|
|
137
137
|
findEvents(sourceDir) {
|
|
138
138
|
const filesWithEvents = this.asAbsoluteFilePaths(this.findFilesWithEvents(sourceDir));
|
|
139
|
+
const eventSignatures = new Map();
|
|
139
140
|
// Using [\s\S]* instead of .* since the latter does not match when using /m option
|
|
140
141
|
const eventMatcher = /\/\*\s*__GDPR__\b([\s\S]*?)\*\//mg;
|
|
141
142
|
const eventDeclarations = new events_1.Events();
|
|
@@ -144,9 +145,18 @@ class Parser {
|
|
|
144
145
|
const eventDeclaration = JSON.parse(`{ ${match[1]} }`);
|
|
145
146
|
let eventName = Object.keys(eventDeclaration)[0];
|
|
146
147
|
eventName = this.lowerCaseEvents ? eventName.toLowerCase() : eventName;
|
|
148
|
+
const eventProperties = eventDeclaration[Object.keys(eventDeclaration)[0]];
|
|
149
|
+
const currentSignature = this.stableSerialize(eventProperties);
|
|
150
|
+
const existingSignature = eventSignatures.get(eventName);
|
|
151
|
+
if (existingSignature && existingSignature !== currentSignature) {
|
|
152
|
+
throw new Error(`Duplicate telemetry event declaration '${eventName}' has conflicting details.`);
|
|
153
|
+
}
|
|
154
|
+
if (existingSignature) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
eventSignatures.set(eventName, currentSignature);
|
|
147
158
|
const event = (0, operations_1.findOrCreate)(eventDeclarations, eventName);
|
|
148
159
|
// Get the propeties which the event possesses
|
|
149
|
-
const eventProperties = eventDeclaration[Object.keys(eventDeclaration)[0]];
|
|
150
160
|
(0, operations_1.populateProperties)(eventProperties, event, this.applyEndpoints);
|
|
151
161
|
}
|
|
152
162
|
catch (error) {
|
|
@@ -157,6 +167,18 @@ class Parser {
|
|
|
157
167
|
});
|
|
158
168
|
return eventDeclarations;
|
|
159
169
|
}
|
|
170
|
+
stableSerialize(value) {
|
|
171
|
+
if (Array.isArray(value)) {
|
|
172
|
+
return `[${value.map((entry) => this.stableSerialize(entry)).join(',')}]`;
|
|
173
|
+
}
|
|
174
|
+
if (value && typeof value === 'object') {
|
|
175
|
+
const entries = Object.entries(value)
|
|
176
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
177
|
+
.map(([key, entryValue]) => `${JSON.stringify(key)}:${this.stableSerialize(entryValue)}`);
|
|
178
|
+
return `{${entries.join(',')}}`;
|
|
179
|
+
}
|
|
180
|
+
return JSON.stringify(value);
|
|
181
|
+
}
|
|
160
182
|
// Utilizes a regex to find the files containing the specific pattern
|
|
161
183
|
findFiles(ripgrepPattern, sourceDir) {
|
|
162
184
|
const relativeExclusions = (0, operations_1.makeExclusionsRelativeToSource)(sourceDir, this.excludedDirs);
|
|
@@ -166,7 +188,7 @@ class Parser {
|
|
|
166
188
|
const filePaths = cp.execFileSync(ripgrep_1.rgPath, ripgrepArgs, { encoding: 'ascii', cwd: `${sourceDir}` });
|
|
167
189
|
return filePaths.split(/(?:\r\n|\r|\n)/g).filter(path => path && path.length > 0);
|
|
168
190
|
}
|
|
169
|
-
catch
|
|
191
|
+
catch {
|
|
170
192
|
// ripgrep's return code != 0 if there are no matches
|
|
171
193
|
return [];
|
|
172
194
|
}
|
|
@@ -178,7 +200,7 @@ class Parser {
|
|
|
178
200
|
return { fragments: fragments, events: events, commonProperties: commonProperties };
|
|
179
201
|
}
|
|
180
202
|
extractDeclarations() {
|
|
181
|
-
return new Promise((resolve
|
|
203
|
+
return new Promise((resolve) => {
|
|
182
204
|
// Find all the properties for all files
|
|
183
205
|
const promises = this.sourceDirs.map(sd => this.parse(sd));
|
|
184
206
|
// Now we must merge them into one superset of all declarations
|
package/out/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,6CAAyC;AACzC,2CAA6B;AAC7B,kDAAoC;AACpC,uCAAyB;AACzB,iGAAiG;AACjG,2CAAwC;AACxC,2DAAiE;AACjE,qCAAkC;AAElC,6CAAuG;AAEvG,MAAa,MAAM;IAEP,UAAU,CAAW;IACrB,YAAY,CAAW;IACvB,cAAc,CAAU;IAExB,eAAe,CAAU;IAEjC,YAAY,UAAoB,EAAE,YAAsB,EAAE,cAAuB,EAAE,eAAwB;QACvG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAEO,eAAe,CAAC,GAAW;QAC/B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,19 @@ const ts_parser_1 = require("./ts-parser");
|
|
|
37
37
|
const debug_patch_1 = require("./debug-patch");
|
|
38
38
|
const logger_1 = require("./logger");
|
|
39
39
|
const fragments_1 = require("./fragments");
|
|
40
|
+
function deepSortKeys(obj) {
|
|
41
|
+
if (Array.isArray(obj)) {
|
|
42
|
+
return obj.map(deepSortKeys);
|
|
43
|
+
}
|
|
44
|
+
if (obj !== null && typeof obj === 'object') {
|
|
45
|
+
const sorted = Object.create(null);
|
|
46
|
+
for (const key of Object.keys(obj).sort()) {
|
|
47
|
+
sorted[key] = deepSortKeys(obj[key]);
|
|
48
|
+
}
|
|
49
|
+
return sorted;
|
|
50
|
+
}
|
|
51
|
+
return obj;
|
|
52
|
+
}
|
|
40
53
|
function writeToFile(outputDir, contents, fileName, emitProgressMessage) {
|
|
41
54
|
if (Object.keys(contents).length === 0) {
|
|
42
55
|
(0, logger_1.logMessage)(`...no events found, skipping file emmision!`, !emitProgressMessage);
|
|
@@ -118,7 +131,7 @@ async function extractAndResolveDeclarations(sourceSpecs) {
|
|
|
118
131
|
formattedDeclarations.events[dec] = allTypeScriptDeclarations[dec];
|
|
119
132
|
}
|
|
120
133
|
validateOutputtedDeclarations(formattedDeclarations);
|
|
121
|
-
return Promise.resolve(formattedDeclarations);
|
|
134
|
+
return Promise.resolve(deepSortKeys(formattedDeclarations));
|
|
122
135
|
}
|
|
123
136
|
catch (error) {
|
|
124
137
|
console.error(`Error: ${error}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-declarations.js","sourceRoot":"","sources":["../../src/lib/save-declarations.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -107,7 +107,9 @@ class NodeVisitor {
|
|
|
107
107
|
inline = false;
|
|
108
108
|
original_prop_name;
|
|
109
109
|
applyEndpoints;
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
111
|
properties = [];
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
111
113
|
resolved_property = Object.create(null);
|
|
112
114
|
constructor(callexpress_node, prop_name, applyEndpoints) {
|
|
113
115
|
this.pl_node = callexpress_node;
|
|
@@ -218,10 +220,8 @@ class TsParser {
|
|
|
218
220
|
this.excludedDirs.forEach((dir) => {
|
|
219
221
|
fileGlobs.push(`!${dir}/**`);
|
|
220
222
|
});
|
|
221
|
-
let rg_glob = '';
|
|
222
223
|
const rgGlobs = [];
|
|
223
224
|
for (const fg of fileGlobs) {
|
|
224
|
-
rg_glob += ` --glob ${fg}`;
|
|
225
225
|
rgGlobs.push('--glob');
|
|
226
226
|
rgGlobs.push(fg);
|
|
227
227
|
}
|
|
@@ -235,7 +235,7 @@ class TsParser {
|
|
|
235
235
|
});
|
|
236
236
|
// Empty catch because this fails when there are no typescript annotations which causes weird error messages
|
|
237
237
|
}
|
|
238
|
-
catch
|
|
238
|
+
catch {
|
|
239
239
|
// No-op
|
|
240
240
|
}
|
|
241
241
|
}
|
|
@@ -300,7 +300,7 @@ class TsParser {
|
|
|
300
300
|
}
|
|
301
301
|
});
|
|
302
302
|
}
|
|
303
|
-
catch
|
|
303
|
+
catch {
|
|
304
304
|
if (pl.getArguments()[0].getText() === "eventName") {
|
|
305
305
|
return;
|
|
306
306
|
}
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../src/lib/ts-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,uCAAmF;AACnF,uCAAyB;AACzB,kDAAoC;AACpC,2CAA6B;AAC7B,6CAAyC;AACzC,6CAA8D;AAC9D,qCAA2C;AAG3C,SAAS,aAAa,CAAC,IAAU;IAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,IAAU;IAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,kDAAkD;IAClD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACrC,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,qBAAU,CAAC,eAAe,EAAE,CAAC;YACvD,MAAM,eAAe,GAAG,WAAW,CAAC;YACpC,MAAM,OAAO,GAAG,eAAe,CAAC,iBAAiB,CAAC,qBAAU,CAAC,UAAU,CAAC,CAAC;YAEzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC5C,IAAI,WAAW,EAAE,CAAC;oBACd,4CAA4C;oBAC5C,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;oBAC9C,IAAI,eAAe,CAAC,eAAe,EAAE,EAAE,CAAC;wBACpC,SAAS,GAAG,IAAI,CAAC;oBACrB,CAAC;yBAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;wBACpC,SAAS,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,8DAA8D;oBAC9D,SAAS,GAAG,IAAI,CAAC;gBACrB,CAAC;YACL,CAAC;YACD,MAAM;QACV,CAAC;IACL,CAAC;IAED,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,MAAM,WAAW;IAEL,OAAO,CAAO;IACd,SAAS,CAAS;IAClB,MAAM,GAAY,KAAK,CAAC;IACxB,kBAAkB,CAAS;IAC3B,cAAc,CAAU;IAChC,8DAA8D;IACvD,UAAU,GAAe,EAAE,CAAC;IACnC,8DAA8D;IACtD,iBAAiB,GAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,YAAY,gBAAsB,EAAE,SAAiB,EAAE,cAAuB;QAC1E,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEO,SAAS,CAAC,WAAmB,EAAE,YAAqB;QACxD,IAAI,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,yFAAyF;QACzF,wEAAwE;QACxE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpD,IAAI,YAAY,EAAE,CAAC;gBACf,0GAA0G;gBAC1G,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;oBAChJ,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;oBACpF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,uCAAuC;YACvC,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE9F,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;YAC9C,uCAAuC;YACvC,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC;YACjE,CAAC;YACD,OAAO;QACX,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,6EAA6E;QAC7E,oFAAoF;QACpF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5D,mGAAmG;YACnG,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1H,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,WAAmB;QACzC,IAAI,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,yFAAyF;QACzF,wEAAwE;QACxE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;YAC9C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC9E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,iBAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YAClG,CAAC;QACL,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,WAAmB;QACxC,sFAAsF;QACtF,+DAA+D;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ;AAED,MAAa,QAAQ;IACT,SAAS,CAAS;IAClB,YAAY,CAAW;IACvB,cAAc,CAAU;IACxB,eAAe,CAAU;IACzB,OAAO,CAAU;IACzB,YAAY,SAAiB,EAAE,YAAsB,EAAE,cAAuB,EAAE,eAAwB;QACpG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,wFAAwF;QACxF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAO,CAAC;gBACvB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC;gBAChE,2BAA2B,EAAE,IAAI;aACpC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAO,CAAC;gBACvB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;gBAC5D,2BAA2B,EAAE,IAAI;aACpC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAO,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,kEAAkE;QAClE,IAAI,CAAC,YAAY,GAAG,IAAA,2CAA8B,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,sBAAsB,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACrH,IAAI,CAAC;YACD,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAM,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACpF,gCAAgC;YAChC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvF,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,4GAA4G;QAChH,CAAC;QAAC,MAAM,CAAC;YACL,QAAQ;QACZ,CAAC;IACL,CAAC;IAEM,UAAU;QACb,IAAI,YAAY,GAA0B,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,qBAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5K,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,qBAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClL,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACxB,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;oBACjD,OAAO;gBACX,CAAC;gBACD,gEAAgE;gBAChE,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClH,gEAAgE;gBAChE,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACvF,OAAO;gBACX,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChE,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1E,kEAAkE;gBAClE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,cAAK,CAAC,UAAU,CAAC,CAAC;gBAC5C,wHAAwH;gBACxH,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC9D,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;oBACrD,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBACxE,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrG,CAAC,CAAC,CAAC;gBACH,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC9D,8DAA8D;gBAC9D,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;oBACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACpD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;wBACjC,OAAO;oBACX,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;oBAC1D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACnD,IAAI,CAAC,aAAa,EAAE,CAAC;4BACjB,OAAO;wBACX,CAAC;wBACD,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC;oBACvC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEP,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;oBACjD,OAAO;gBACX,CAAC;gBACD,0GAA0G;gBAC1G,gEAAgE;gBAChE,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClH,sHAAsH;gBACtH,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;oBACpB,OAAO;gBACX,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChE,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1E,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApID,4BAoIC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vscode/telemetry-extractor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "Extracts telemetry from VS Code",
|
|
5
5
|
"main": "out/index.js",
|
|
6
6
|
"typings": "vscode-telemetry-extractor.d.ts",
|
|
@@ -8,13 +8,16 @@
|
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/microsoft/vscode-telemetry-extractor"
|
|
10
10
|
},
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=18"
|
|
13
|
+
},
|
|
11
14
|
"scripts": {
|
|
12
15
|
"compile": "tsc",
|
|
13
16
|
"coverage": "nyc mocha out/tests/mocha/*.js",
|
|
14
17
|
"extract-core": "node ./out/extractor.js --sourceDir src/telemetry-sources/vscode --excludedDir src/telemetry-sources/vscode/extensions --eventPrefix monacoworkbench/ --outputDir . --applyEndpoints -f telemetry",
|
|
15
18
|
"extract-core-verbose": "node ./out/extractor.js --sourceDir src/telemetry-sources/vscode --excludedDir src/telemetry-sources/vscode/extensions --eventPrefix monacoworkbench/ --outputDir . --applyEndpoints --silent --verbose",
|
|
16
|
-
"lint": "eslint
|
|
17
|
-
"test": "mocha out/tests/mocha/*.js",
|
|
19
|
+
"lint": "eslint .",
|
|
20
|
+
"test": "mocha --timeout 5000 out/tests/mocha/*.js",
|
|
18
21
|
"watch": "tsc --watch"
|
|
19
22
|
},
|
|
20
23
|
"bin": {
|
|
@@ -28,17 +31,16 @@
|
|
|
28
31
|
"ts-morph": "^25.0.1"
|
|
29
32
|
},
|
|
30
33
|
"devDependencies": {
|
|
34
|
+
"@eslint/js": "^9.39.2",
|
|
31
35
|
"@types/command-line-args": "^5.2.3",
|
|
32
36
|
"@types/mocha": "^10.0.6",
|
|
33
37
|
"@types/node": "^18.18.2",
|
|
34
|
-
"
|
|
35
|
-
"@typescript-eslint/parser": "^7.1.0",
|
|
36
|
-
"eslint": "^8.57.0",
|
|
38
|
+
"eslint": "^9.39.2",
|
|
37
39
|
"mocha": "^10.2.0",
|
|
38
40
|
"nyc": "^15.1.0",
|
|
39
41
|
"source-map-support": "^0.5.21",
|
|
40
42
|
"ts-node": "^10.9.2",
|
|
41
43
|
"typescript": "^5.3.3",
|
|
42
|
-
"typescript-eslint": "^
|
|
44
|
+
"typescript-eslint": "^8.56.0"
|
|
43
45
|
}
|
|
44
|
-
}
|
|
46
|
+
}
|
package/src/extractor.ts
CHANGED
package/src/lib/declarations.ts
CHANGED
|
@@ -18,8 +18,8 @@ export interface OutputtedDeclarations {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function resolveIncludes(target: Events | Fragments, fragments: Fragments) {
|
|
21
|
-
const notResolved: Array<
|
|
22
|
-
const usedFragments: Array<
|
|
21
|
+
const notResolved: Array<string> = [];
|
|
22
|
+
const usedFragments: Array<string> = [];
|
|
23
23
|
for (const item of target.dataPoints) {
|
|
24
24
|
for (let i = 0; i < item.properties.length; i++) {
|
|
25
25
|
const property = item.properties[i];
|
|
@@ -50,8 +50,8 @@ function resolveIncludes(target: Events | Fragments, fragments: Fragments) {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
function resolveInlines(target: Events | Fragments, fragments: Fragments) {
|
|
53
|
-
const notResolved: Array<
|
|
54
|
-
const usedFragments: Array<
|
|
53
|
+
const notResolved: Array<string> = [];
|
|
54
|
+
const usedFragments: Array<string> = [];
|
|
55
55
|
for (const item of target.dataPoints) {
|
|
56
56
|
for (let i = 0; i < item.properties.length; i++) {
|
|
57
57
|
const property = item.properties[i];
|
|
@@ -71,7 +71,7 @@ function resolveInlines(target: Events | Fragments, fragments: Fragments) {
|
|
|
71
71
|
fragment.properties.forEach((prop) => {
|
|
72
72
|
if (prop instanceof Property) {
|
|
73
73
|
// We create the new property in the format inlineName.propName keeping the rest the same
|
|
74
|
-
|
|
74
|
+
const currentProp = new Property(`${property.inlineName}.${prop.name}`, prop.classification, prop.purpose, prop.expiration, prop.owner, prop.comment);
|
|
75
75
|
if (prop.endPoint) {
|
|
76
76
|
currentProp.endPoint = prop.endPoint;
|
|
77
77
|
}
|
|
@@ -92,8 +92,8 @@ function resolveInlines(target: Events | Fragments, fragments: Fragments) {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
export function resolveDeclarations(declarations: Declarations, verbose: boolean) {
|
|
95
|
-
let notResolved: Array<
|
|
96
|
-
let usedFragments: Array<
|
|
95
|
+
let notResolved: Array<string> = [];
|
|
96
|
+
let usedFragments: Array<string> = [];
|
|
97
97
|
if (verbose) {
|
|
98
98
|
const fragmentsResolveInlines = resolveInlines(declarations.fragments, declarations.fragments);
|
|
99
99
|
const eventsResolveInlines = resolveInlines(declarations.events, declarations.fragments);
|
package/src/lib/file-writer.ts
CHANGED
|
@@ -10,9 +10,9 @@ import * as path from 'path';
|
|
|
10
10
|
*/
|
|
11
11
|
export async function writeFile(outputFile: string, contents: string) {
|
|
12
12
|
const directory = path.dirname(outputFile);
|
|
13
|
-
return mkdirp(directory).then((
|
|
13
|
+
return mkdirp(directory).then(() => {
|
|
14
14
|
return new Promise<void>((resolve, reject) => {
|
|
15
|
-
fs.writeFile(outputFile, contents, { encoding: 'utf8' }, (err:
|
|
15
|
+
fs.writeFile(outputFile, contents, { encoding: 'utf8' }, (err: NodeJS.ErrnoException | null) => {
|
|
16
16
|
if (err) {
|
|
17
17
|
reject(err);
|
|
18
18
|
} else {
|
|
@@ -24,11 +24,11 @@ export async function writeFile(outputFile: string, contents: string) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// copied from https://github.com/Microsoft/vscode/blob/master/src/main.js#L139
|
|
27
|
-
async function mkdirp(dir: string): Promise<
|
|
27
|
+
async function mkdirp(dir: string): Promise<string> {
|
|
28
28
|
return mkdir(dir)
|
|
29
|
-
.then(null, function (err:
|
|
29
|
+
.then(null, function (err: NodeJS.ErrnoException) {
|
|
30
30
|
if (err && err.code === 'ENOENT') {
|
|
31
|
-
|
|
31
|
+
const parent = path.dirname(dir);
|
|
32
32
|
if (parent !== dir) { // if not arrived at root
|
|
33
33
|
return mkdirp(parent)
|
|
34
34
|
.then(function () {
|
|
@@ -41,9 +41,9 @@ async function mkdirp(dir: string): Promise<any> {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
// copied from https://github.com/Microsoft/vscode/blob/master/src/main.js#L155
|
|
44
|
-
async function mkdir(dir: string): Promise<
|
|
44
|
+
async function mkdir(dir: string): Promise<string> {
|
|
45
45
|
return new Promise(function (resolve, reject) {
|
|
46
|
-
fs.mkdir(dir, function (err:
|
|
46
|
+
fs.mkdir(dir, function (err: NodeJS.ErrnoException | null) {
|
|
47
47
|
if (err && err.code !== 'EEXIST') {
|
|
48
48
|
reject(err);
|
|
49
49
|
} else {
|
|
@@ -25,6 +25,7 @@ export async function transformOutput(output: Declarations): Promise<OutputtedDe
|
|
|
25
25
|
if (property instanceof Wildcard) {
|
|
26
26
|
newEvents[event.name][keywords.wildcard] = newEvents[event.name][keywords.wildcard] ? newEvents[event.name][keywords.wildcard] : [];
|
|
27
27
|
for (const entry of property.entries) {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
29
|
const found = newEvents[event.name][keywords.wildcard].find((e: any) => {
|
|
29
30
|
return e[keywords.prefix] === entry.prefix.toLowerCase();
|
|
30
31
|
});
|
package/src/lib/operations.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { Fragments, Fragment } from "./fragments";
|
|
|
4
4
|
import { Events, Event, Include, Inline, Wildcard, WildcardEntry, Metadata } from "./events";
|
|
5
5
|
import { Property } from "./common-properties";
|
|
6
6
|
import * as keywords from './keywords';
|
|
7
|
+
import * as path from 'path';
|
|
7
8
|
|
|
8
9
|
export function merge(target: Fragments | Events, source: Fragments | Events) {
|
|
9
10
|
for (const item of source.dataPoints) {
|
|
@@ -12,6 +13,12 @@ export function merge(target: Fragments | Events, source: Fragments | Events) {
|
|
|
12
13
|
});
|
|
13
14
|
// We combine their properties together if the event already exists
|
|
14
15
|
if (found) {
|
|
16
|
+
if (target instanceof Events && source instanceof Events && found instanceof Event && item instanceof Event) {
|
|
17
|
+
if (!sameEventDefinition(found, item)) {
|
|
18
|
+
throw new Error(`Duplicate telemetry event declaration '${item.name}' has conflicting details.`);
|
|
19
|
+
}
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
15
22
|
found.properties = found.properties.concat(item.properties);
|
|
16
23
|
} else {
|
|
17
24
|
target.dataPoints.push(item);
|
|
@@ -19,6 +26,78 @@ export function merge(target: Fragments | Events, source: Fragments | Events) {
|
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
28
|
|
|
29
|
+
function sameEventDefinition(left: Event, right: Event) {
|
|
30
|
+
return stableSerialize(eventToComparable(left)) === stableSerialize(eventToComparable(right));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function eventToComparable(event: Event) {
|
|
34
|
+
const properties = event.properties.map(propertyToComparable);
|
|
35
|
+
properties.sort((a, b) => stableSerialize(a).localeCompare(stableSerialize(b)));
|
|
36
|
+
return {
|
|
37
|
+
name: event.name,
|
|
38
|
+
properties
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function propertyToComparable(property: Property | Metadata | Include | Inline | Wildcard) {
|
|
43
|
+
if (property instanceof Property) {
|
|
44
|
+
return {
|
|
45
|
+
type: 'property',
|
|
46
|
+
name: property.name,
|
|
47
|
+
classification: property.classification,
|
|
48
|
+
purpose: property.purpose,
|
|
49
|
+
expiration: property.expiration,
|
|
50
|
+
owner: property.owner,
|
|
51
|
+
comment: property.comment,
|
|
52
|
+
endPoint: property.endPoint,
|
|
53
|
+
isMeasurement: property.isMeasurement
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (property instanceof Metadata) {
|
|
57
|
+
return {
|
|
58
|
+
type: 'metadata',
|
|
59
|
+
name: property.name,
|
|
60
|
+
value: property.value
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (property instanceof Include) {
|
|
64
|
+
return {
|
|
65
|
+
type: 'include',
|
|
66
|
+
includeNames: [...property.includeNames].sort()
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
if (property instanceof Inline) {
|
|
70
|
+
return {
|
|
71
|
+
type: 'inline',
|
|
72
|
+
inlineName: property.inlineName,
|
|
73
|
+
inlines: [...property.inlines].sort()
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
type: 'wildcard',
|
|
78
|
+
entries: property.entries.map(entry => ({
|
|
79
|
+
prefix: entry.prefix,
|
|
80
|
+
classification: entry.classification,
|
|
81
|
+
endpoint: entry.endpoint
|
|
82
|
+
})).sort((a, b) => stableSerialize(a).localeCompare(stableSerialize(b)))
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function stableSerialize(value: unknown): string {
|
|
87
|
+
if (Array.isArray(value)) {
|
|
88
|
+
return `[${value.map(stableSerialize).join(',')}]`;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (value && typeof value === 'object') {
|
|
92
|
+
const entries = Object.entries(value as Record<string, unknown>)
|
|
93
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
94
|
+
.map(([key, entryValue]) => `${JSON.stringify(key)}:${stableSerialize(entryValue)}`);
|
|
95
|
+
return `{${entries.join(',')}}`;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return JSON.stringify(value);
|
|
99
|
+
}
|
|
100
|
+
|
|
22
101
|
// Searches the object for an event or fragment of the specific name
|
|
23
102
|
// If found returns, if not found creates it, places it in the array, and then returns
|
|
24
103
|
export function findOrCreate(searchTarget: Events | Fragments, name: string) {
|
|
@@ -36,6 +115,7 @@ export function findOrCreate(searchTarget: Events | Fragments, name: string) {
|
|
|
36
115
|
return found;
|
|
37
116
|
}
|
|
38
117
|
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
119
|
export function mergeWildcards(wildcard: any[], target: Event | Fragment, applyEndpoints: boolean) {
|
|
40
120
|
let wildCard = target.properties.find((item) => {
|
|
41
121
|
return item instanceof Wildcard;
|
|
@@ -54,6 +134,7 @@ export function mergeWildcards(wildcard: any[], target: Event | Fragment, applyE
|
|
|
54
134
|
});
|
|
55
135
|
}
|
|
56
136
|
|
|
137
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
138
|
export function populateProperties(properties: any, target: Event | Fragment, applyEndpoints = false) {
|
|
58
139
|
for (const propertyName in properties) {
|
|
59
140
|
const currentProperty = properties[propertyName];
|
|
@@ -84,8 +165,11 @@ export function populateProperties(properties: any, target: Event | Fragment, ap
|
|
|
84
165
|
export function makeExclusionsRelativeToSource(sourceDir: string, excludedDirs: string[]) {
|
|
85
166
|
const relativeExclusions = [];
|
|
86
167
|
for (const excluded of excludedDirs) {
|
|
87
|
-
|
|
88
|
-
|
|
168
|
+
const rel = path.relative(sourceDir, excluded);
|
|
169
|
+
// Only include if the excluded dir is actually under sourceDir
|
|
170
|
+
if (rel && !rel.startsWith('..') && !path.isAbsolute(rel)) {
|
|
171
|
+
// Normalize to forward slashes for ripgrep glob compatibility
|
|
172
|
+
relativeExclusions.push(rel.split(path.sep).join('/'));
|
|
89
173
|
}
|
|
90
174
|
}
|
|
91
175
|
return relativeExclusions;
|
package/src/lib/parser.ts
CHANGED
|
@@ -27,18 +27,18 @@ export class Parser {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
private toRipGrepOption(dir: string): string[] {
|
|
30
|
-
while (dir.startsWith('/')) {
|
|
30
|
+
while (dir.startsWith('/') || dir.startsWith('\\')) {
|
|
31
31
|
dir = dir.substr(1);
|
|
32
32
|
}
|
|
33
33
|
return ['--glob', `!${dir}/**`];
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
private extractComments(absoluteFilePaths: string[], commentMatcher: RegExp, collector:
|
|
36
|
+
private extractComments(absoluteFilePaths: string[], commentMatcher: RegExp, collector: (filePath: string, match: RegExpExecArray) => void) {
|
|
37
37
|
absoluteFilePaths.forEach(absoluteFilePath => {
|
|
38
38
|
if (absoluteFilePath) {
|
|
39
39
|
const fileContents = fs.readFileSync(absoluteFilePath);
|
|
40
40
|
let match;
|
|
41
|
-
while (match = commentMatcher.exec(fileContents.toString())) {
|
|
41
|
+
while ((match = commentMatcher.exec(fileContents.toString()))) {
|
|
42
42
|
collector(absoluteFilePath, match);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -88,7 +88,7 @@ export class Parser {
|
|
|
88
88
|
|
|
89
89
|
// Finds all files containing event fragments in the given directory
|
|
90
90
|
private findFilesWithFragments(sourceDir: string) {
|
|
91
|
-
const ripgrepPattern = '
|
|
91
|
+
const ripgrepPattern = '/\\*\\s*__GDPR__FRAGMENT__';
|
|
92
92
|
return this.findFiles(ripgrepPattern, sourceDir);
|
|
93
93
|
}
|
|
94
94
|
|
|
@@ -119,12 +119,13 @@ export class Parser {
|
|
|
119
119
|
|
|
120
120
|
// Find all files with complete events
|
|
121
121
|
private findFilesWithEvents(sourceDir: string) {
|
|
122
|
-
const ripgrepPattern = '
|
|
122
|
+
const ripgrepPattern = '/\\*\\s*__GDPR__\\b';
|
|
123
123
|
return this.findFiles(ripgrepPattern, sourceDir);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
private findEvents(sourceDir: string) {
|
|
127
127
|
const filesWithEvents = this.asAbsoluteFilePaths(this.findFilesWithEvents(sourceDir));
|
|
128
|
+
const eventSignatures = new Map<string, string>();
|
|
128
129
|
|
|
129
130
|
// Using [\s\S]* instead of .* since the latter does not match when using /m option
|
|
130
131
|
const eventMatcher = /\/\*\s*__GDPR__\b([\s\S]*?)\*\//mg;
|
|
@@ -134,9 +135,21 @@ export class Parser {
|
|
|
134
135
|
const eventDeclaration = JSON.parse(`{ ${match[1]} }`);
|
|
135
136
|
let eventName = Object.keys(eventDeclaration)[0];
|
|
136
137
|
eventName = this.lowerCaseEvents ? eventName.toLowerCase() : eventName;
|
|
138
|
+
const eventProperties = eventDeclaration[Object.keys(eventDeclaration)[0]];
|
|
139
|
+
const currentSignature = this.stableSerialize(eventProperties);
|
|
140
|
+
const existingSignature = eventSignatures.get(eventName);
|
|
141
|
+
|
|
142
|
+
if (existingSignature && existingSignature !== currentSignature) {
|
|
143
|
+
throw new Error(`Duplicate telemetry event declaration '${eventName}' has conflicting details.`);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
if (existingSignature) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
eventSignatures.set(eventName, currentSignature);
|
|
137
151
|
const event = findOrCreate(eventDeclarations, eventName);
|
|
138
152
|
// Get the propeties which the event possesses
|
|
139
|
-
const eventProperties = eventDeclaration[Object.keys(eventDeclaration)[0]];
|
|
140
153
|
populateProperties(eventProperties, event, this.applyEndpoints);
|
|
141
154
|
} catch (error) {
|
|
142
155
|
console.error(`Event Declaration Error: ${error} in file ${filePath}`);
|
|
@@ -147,15 +160,30 @@ export class Parser {
|
|
|
147
160
|
return eventDeclarations;
|
|
148
161
|
}
|
|
149
162
|
|
|
163
|
+
private stableSerialize(value: unknown): string {
|
|
164
|
+
if (Array.isArray(value)) {
|
|
165
|
+
return `[${value.map((entry) => this.stableSerialize(entry)).join(',')}]`;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (value && typeof value === 'object') {
|
|
169
|
+
const entries = Object.entries(value as Record<string, unknown>)
|
|
170
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
171
|
+
.map(([key, entryValue]) => `${JSON.stringify(key)}:${this.stableSerialize(entryValue)}`);
|
|
172
|
+
return `{${entries.join(',')}}`;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return JSON.stringify(value);
|
|
176
|
+
}
|
|
177
|
+
|
|
150
178
|
// Utilizes a regex to find the files containing the specific pattern
|
|
151
179
|
private findFiles(ripgrepPattern: string, sourceDir: string) {
|
|
152
180
|
const relativeExclusions = makeExclusionsRelativeToSource(sourceDir, this.excludedDirs);
|
|
153
181
|
const exclusions = relativeExclusions.length === 0 || relativeExclusions[0] === '' ? [] : relativeExclusions.map(this.toRipGrepOption).flat();
|
|
154
182
|
const ripgrepArgs = ['--files-with-matches', '--glob', '*.ts', '--glob', '*.tsx', '--glob', '*.cs', ...exclusions, '--regexp', ripgrepPattern, '--', sourceDir];
|
|
155
183
|
try {
|
|
156
|
-
const filePaths = cp.execFileSync(rgPath, ripgrepArgs, { encoding: 'ascii', cwd: `${sourceDir}` });
|
|
184
|
+
const filePaths = cp.execFileSync(rgPath, ripgrepArgs, { encoding: 'ascii', cwd: `${sourceDir}` });
|
|
157
185
|
return filePaths.split(/(?:\r\n|\r|\n)/g).filter(path => path && path.length > 0);
|
|
158
|
-
} catch
|
|
186
|
+
} catch {
|
|
159
187
|
// ripgrep's return code != 0 if there are no matches
|
|
160
188
|
return [];
|
|
161
189
|
}
|
|
@@ -169,7 +197,7 @@ export class Parser {
|
|
|
169
197
|
}
|
|
170
198
|
|
|
171
199
|
public extractDeclarations(): Promise<Declarations> {
|
|
172
|
-
return new Promise((resolve
|
|
200
|
+
return new Promise((resolve) => {
|
|
173
201
|
// Find all the properties for all files
|
|
174
202
|
const promises = this.sourceDirs.map(sd => this.parse(sd));
|
|
175
203
|
// Now we must merge them into one superset of all declarations
|
|
@@ -13,6 +13,20 @@ import { ParserOptions, SourceSpec } from './source-spec';
|
|
|
13
13
|
import { logMessage } from './logger';
|
|
14
14
|
import { Fragments } from './fragments';
|
|
15
15
|
|
|
16
|
+
function deepSortKeys(obj: unknown): unknown {
|
|
17
|
+
if (Array.isArray(obj)) {
|
|
18
|
+
return obj.map(deepSortKeys);
|
|
19
|
+
}
|
|
20
|
+
if (obj !== null && typeof obj === 'object') {
|
|
21
|
+
const sorted: Record<string, unknown> = Object.create(null);
|
|
22
|
+
for (const key of Object.keys(obj).sort()) {
|
|
23
|
+
sorted[key] = deepSortKeys((obj as Record<string, unknown>)[key]);
|
|
24
|
+
}
|
|
25
|
+
return sorted;
|
|
26
|
+
}
|
|
27
|
+
return obj;
|
|
28
|
+
}
|
|
29
|
+
|
|
16
30
|
export function writeToFile(outputDir: string, contents: object, fileName: string, emitProgressMessage: boolean) {
|
|
17
31
|
if (Object.keys(contents).length === 0) {
|
|
18
32
|
logMessage(`...no events found, skipping file emmision!`, !emitProgressMessage);
|
|
@@ -95,7 +109,7 @@ export async function extractAndResolveDeclarations(sourceSpecs: Array<SourceSpe
|
|
|
95
109
|
formattedDeclarations.events[dec] = allTypeScriptDeclarations[dec];
|
|
96
110
|
}
|
|
97
111
|
validateOutputtedDeclarations(formattedDeclarations);
|
|
98
|
-
return Promise.resolve(formattedDeclarations);
|
|
112
|
+
return Promise.resolve(deepSortKeys(formattedDeclarations) as OutputtedDeclarations);
|
|
99
113
|
} catch (error) {
|
|
100
114
|
console.error(`Error: ${error}`);
|
|
101
115
|
return Promise.reject(error);
|
package/src/lib/ts-parser.ts
CHANGED
|
@@ -16,7 +16,7 @@ function isMeasurement(type: Type) {
|
|
|
16
16
|
if (type.isBoolean()) {
|
|
17
17
|
return true;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
if (type.isEnum()) {
|
|
21
21
|
return getEnumType(type) === 'number';
|
|
22
22
|
}
|
|
@@ -34,26 +34,26 @@ function getEnumType(type: Type): 'number' | 'string' | 'mixed' | null {
|
|
|
34
34
|
if (!type.isEnum()) {
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
const symbol = type.getSymbol();
|
|
39
39
|
if (!symbol) {
|
|
40
40
|
return null;
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
const declarations = symbol.getDeclarations();
|
|
44
44
|
if (!declarations || declarations.length === 0) {
|
|
45
45
|
return null;
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
let hasNumber = false;
|
|
49
49
|
let hasString = false;
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
// Get the enum declaration to examine its members
|
|
52
52
|
for (const declaration of declarations) {
|
|
53
53
|
if (declaration.getKind() === SyntaxKind.EnumDeclaration) {
|
|
54
54
|
const enumDeclaration = declaration;
|
|
55
55
|
const members = enumDeclaration.getChildrenOfKind(SyntaxKind.EnumMember);
|
|
56
|
-
|
|
56
|
+
|
|
57
57
|
for (const member of members) {
|
|
58
58
|
const initializer = member.getInitializer();
|
|
59
59
|
if (initializer) {
|
|
@@ -72,7 +72,7 @@ function getEnumType(type: Type): 'number' | 'string' | 'mixed' | null {
|
|
|
72
72
|
break;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
if (hasNumber && hasString) {
|
|
77
77
|
return 'mixed';
|
|
78
78
|
} else if (hasNumber) {
|
|
@@ -80,7 +80,7 @@ function getEnumType(type: Type): 'number' | 'string' | 'mixed' | null {
|
|
|
80
80
|
} else if (hasString) {
|
|
81
81
|
return 'string';
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
|
|
84
84
|
return null;
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -92,7 +92,9 @@ class NodeVisitor {
|
|
|
92
92
|
private inline: boolean = false;
|
|
93
93
|
private original_prop_name: string;
|
|
94
94
|
private applyEndpoints: boolean;
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
96
|
public properties: Array<any> = [];
|
|
97
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
98
|
private resolved_property: any = Object.create(null);
|
|
97
99
|
constructor(callexpress_node: Node, prop_name: string, applyEndpoints: boolean) {
|
|
98
100
|
this.pl_node = callexpress_node;
|
|
@@ -204,10 +206,8 @@ export class TsParser {
|
|
|
204
206
|
this.excludedDirs.forEach((dir) => {
|
|
205
207
|
fileGlobs.push(`!${dir}/**`);
|
|
206
208
|
});
|
|
207
|
-
let rg_glob = '';
|
|
208
209
|
const rgGlobs = [];
|
|
209
210
|
for (const fg of fileGlobs) {
|
|
210
|
-
rg_glob += ` --glob ${fg}`;
|
|
211
211
|
rgGlobs.push('--glob');
|
|
212
212
|
rgGlobs.push(fg);
|
|
213
213
|
}
|
|
@@ -221,7 +221,7 @@ export class TsParser {
|
|
|
221
221
|
return f;
|
|
222
222
|
});
|
|
223
223
|
// Empty catch because this fails when there are no typescript annotations which causes weird error messages
|
|
224
|
-
} catch
|
|
224
|
+
} catch {
|
|
225
225
|
// No-op
|
|
226
226
|
}
|
|
227
227
|
}
|
|
@@ -287,7 +287,7 @@ export class TsParser {
|
|
|
287
287
|
}
|
|
288
288
|
});
|
|
289
289
|
|
|
290
|
-
} catch
|
|
290
|
+
} catch {
|
|
291
291
|
if (pl.getArguments()[0].getText() === "eventName") {
|
|
292
292
|
return;
|
|
293
293
|
}
|