@appland/appmap 3.42.0 → 3.43.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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [@appland/appmap-v3.43.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.42.0...@appland/appmap-v3.43.0) (2022-09-30)
2
+
3
+
4
+ ### Features
5
+
6
+ * Send telemetry events when indexing AppMaps ([53935b1](https://github.com/getappmap/appmap-js/commit/53935b19b597646fdc454f7fe2b146318e260717))
7
+
1
8
  # [@appland/appmap-v3.42.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.41.0...@appland/appmap-v3.42.0) (2022-09-29)
2
9
 
3
10
 
@@ -26,9 +26,6 @@ class FingerprintQueue {
26
26
  }, this.size);
27
27
  this.queue.pause();
28
28
  }
29
- setCounterFn(counterFn) {
30
- this.handler.setCounterFn(counterFn);
31
- }
32
29
  async process() {
33
30
  return new Promise((resolve, reject) => {
34
31
  this.queue.drain(resolve);
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprintQueue.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintQueue.ts"],"names":[],"mappings":";;;;;AAAA,iCAA2C;AAC3C,4EAAoD;AACpD,oEAA4C;AAE5C,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAChD,OAAO,KAAK,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,IAAK,KAA+B,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,MAAqB,gBAAgB;IAKnC,YAAoB,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;QAAtC,SAAI,GAAJ,IAAI,CAAI;QAFpB,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAGlC,gDAAgD;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAA,aAAK,EAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YAC1C,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAChD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,wBAAwB,cAAc,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,SAAqB;QAChC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,KAAK,YAAY,2BAAiB,EAAE;oBACtC,OAAO,CAAC,IAAI,CACV;wBACE,YAAY,KAAK,CAAC,OAAO,EAAE;wBAC3B,yFAAyF;qBAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;iBACH;qBAAM,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;iBAClE;;oBAAM,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AA/CD,mCA+CC"}
1
+ {"version":3,"file":"fingerprintQueue.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintQueue.ts"],"names":[],"mappings":";;;;;AAAA,iCAA2C;AAC3C,4EAAoD;AACpD,oEAA4C;AAE5C,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAChD,OAAO,KAAK,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,IAAK,KAA+B,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,MAAqB,gBAAgB;IAKnC,YAAoB,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;QAAtC,SAAI,GAAJ,IAAI,CAAI;QAFpB,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAGlC,gDAAgD;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAa,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAA,aAAK,EAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YAC1C,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAChD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,wBAAwB,cAAc,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,KAAK,YAAY,2BAAiB,EAAE;oBACtC,OAAO,CAAC,IAAI,CACV;wBACE,YAAY,KAAK,CAAC,OAAO,EAAE;wBAC3B,yFAAyF;qBAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;iBACH;qBAAM,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,4BAA4B,CAAC,CAAC;iBAClE;;oBAAM,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AA3CD,mCA2CC"}
@@ -1,37 +1,44 @@
1
1
  "use strict";
2
- const chokidar = require('chokidar');
3
- const fs = require('fs-extra');
4
- const path = require('path');
5
- const { verbose, listAppMapFiles } = require('../utils');
6
- const FingerprintQueue = require('./fingerprintQueue').default;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chokidar_1 = require("chokidar");
7
+ const fs_extra_1 = require("fs-extra");
8
+ const path_1 = require("path");
9
+ const eventAggregator_1 = __importDefault(require("../lib/eventAggregator"));
10
+ const flattenMetadata_1 = __importDefault(require("../lib/flattenMetadata"));
11
+ const intersectMaps_1 = require("../lib/intersectMaps");
12
+ const telemetry_1 = __importDefault(require("../telemetry"));
13
+ const utils_1 = require("../utils");
14
+ const fingerprintQueue_1 = __importDefault(require("./fingerprintQueue"));
7
15
  class FingerprintWatchCommand {
8
16
  constructor(directory) {
9
17
  this.directory = directory;
10
- this.print = true;
11
- this.numProcessed = 0;
12
- this.pidfilePath = process.env.APPMAP_WRITE_PIDFILE && path.join(this.directory, 'index.pid');
18
+ this.pidfilePath = process.env.APPMAP_WRITE_PIDFILE && (0, path_1.join)(this.directory, 'index.pid');
19
+ this.fpQueue = new fingerprintQueue_1.default();
20
+ new eventAggregator_1.default((events) => {
21
+ const indexEvents = events.map(({ args: [event] }) => event);
22
+ this.sendTelemetry(indexEvents.map(({ metadata }) => metadata));
23
+ }).attach(this.fpQueue.handler, 'index');
13
24
  }
14
25
  removePidfile() {
15
26
  if (this.pidfilePath) {
16
27
  console.log(`Removing ${this.pidfilePath}`);
17
- fs.removeSync(this.pidfilePath);
18
- this.pidfilePath = null;
28
+ (0, fs_extra_1.removeSync)(this.pidfilePath);
29
+ this.pidfilePath = undefined;
19
30
  }
20
31
  }
21
32
  async execute() {
22
- this.fpQueue = new FingerprintQueue();
23
- this.fpQueue.setCounterFn(() => {
24
- this.numProcessed += 1;
25
- });
26
33
  // Index existing AppMap files
27
- await listAppMapFiles(this.directory, (file) => this.fpQueue.push(file));
34
+ await (0, utils_1.listAppMapFiles)(this.directory, (file) => this.fpQueue.push(file));
28
35
  this.fpQueue.process();
29
36
  const glob = `${this.directory}/**/*.appmap.json`;
30
- this.watcher = chokidar.watch(glob, {
37
+ this.watcher = (0, chokidar_1.watch)(glob, {
31
38
  ignoreInitial: true,
32
39
  ignored: ['**/node_modules/**', '**/.git/**'],
33
40
  });
34
- this.poller = chokidar.watch(glob, {
41
+ this.poller = (0, chokidar_1.watch)(glob, {
35
42
  ignoreInitial: true,
36
43
  ignored: ['**/node_modules/**', '**/.git/**'],
37
44
  usePolling: true,
@@ -50,32 +57,31 @@ class FingerprintWatchCommand {
50
57
  async close() {
51
58
  await Promise.all([this.watcher, this.poller].map((ch) => ch === null || ch === void 0 ? void 0 : ch.close()));
52
59
  this.removePidfile();
53
- this.watcher = null;
54
- this.poller = null;
60
+ this.watcher = undefined;
61
+ this.poller = undefined;
55
62
  }
56
63
  added(file) {
57
- if (verbose()) {
64
+ if ((0, utils_1.verbose)()) {
58
65
  console.warn(`AppMap added: ${file}`);
59
66
  }
60
67
  this.enqueue(file);
61
68
  }
62
69
  changed(file) {
63
- if (verbose()) {
70
+ if ((0, utils_1.verbose)()) {
64
71
  console.warn(`AppMap changed: ${file}`);
65
72
  }
66
73
  this.enqueue(file);
67
74
  }
68
- // eslint-disable-next-line class-methods-use-this
69
75
  removed(file) {
70
76
  console.warn(`TODO: AppMap removed: ${file}`);
71
77
  }
72
78
  ready() {
73
79
  if (this.pidfilePath) {
74
- fs.outputFileSync(this.pidfilePath, `${process.pid}`);
80
+ (0, fs_extra_1.outputFileSync)(this.pidfilePath, `${process.pid}`);
75
81
  process.on('exit', this.removePidfile.bind(this));
76
82
  }
77
- if (verbose()) {
78
- console.warn(`Watching appmaps in ${path.resolve(process.cwd(), this.directory)}`);
83
+ if ((0, utils_1.verbose)()) {
84
+ console.warn(`Watching appmaps in ${(0, path_1.resolve)(process.cwd(), this.directory)}`);
79
85
  }
80
86
  }
81
87
  enqueue(file) {
@@ -85,6 +91,16 @@ class FingerprintWatchCommand {
85
91
  }
86
92
  this.fpQueue.push(file);
87
93
  }
94
+ sendTelemetry(metadata) {
95
+ const properties = Object.fromEntries((0, intersectMaps_1.intersectMaps)(...metadata.map(flattenMetadata_1.default)).entries());
96
+ telemetry_1.default.sendEvent({
97
+ name: 'appmap:index',
98
+ properties,
99
+ metrics: {
100
+ appmaps: metadata.length,
101
+ },
102
+ });
103
+ }
88
104
  }
89
- module.exports = FingerprintWatchCommand;
105
+ exports.default = FingerprintWatchCommand;
90
106
  //# sourceMappingURL=fingerprintWatchCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const fileTooLargeError_1 = __importDefault(require("./fileTooLargeError"));
12
12
  const utils_1 = require("../utils");
13
13
  const canonicalize_1 = require("./canonicalize");
14
14
  const appmapIndex_1 = __importDefault(require("./appmapIndex"));
15
+ const events_1 = __importDefault(require("events"));
15
16
  /**
16
17
  * CHANGELOG
17
18
  *
@@ -37,18 +38,11 @@ const appmapIndex_1 = __importDefault(require("./appmapIndex"));
37
38
  */
38
39
  const VERSION = '1.1.3';
39
40
  const MAX_APPMAP_SIZE = 50 * 1000 * 1000;
40
- class Fingerprinter {
41
- /**
42
- * @param {boolean} printCanonicalAppMaps
43
- */
41
+ class Fingerprinter extends events_1.default {
44
42
  constructor(printCanonicalAppMaps) {
43
+ super();
45
44
  this.printCanonicalAppMaps = printCanonicalAppMaps;
46
- this.counterFn = () => { };
47
45
  }
48
- setCounterFn(counterFn) {
49
- this.counterFn = counterFn;
50
- }
51
- // eslint-disable-next-line class-methods-use-this
52
46
  async fingerprint(appMapFileName) {
53
47
  if ((0, utils_1.verbose)()) {
54
48
  console.log(`Fingerprinting ${appMapFileName}`);
@@ -108,8 +102,9 @@ class Fingerprinter {
108
102
  // But the mtime will match the file modification time, so the algorithm will
109
103
  // determine that the index is up-to-date.
110
104
  await fs_1.promises.rename(tempAppMapFileName, appMapFileName);
111
- this.counterFn();
105
+ this.emit('index', { path: appMapFileName, metadata: appmap.metadata });
112
106
  }
113
107
  }
108
+ ;
114
109
  exports.default = Fingerprinter;
115
110
  //# sourceMappingURL=fingerprinter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  const { verbose } = require('../utils');
3
3
  const { algorithms, canonicalize } = require('./canonicalize');
4
4
  const FingerprintDirectoryCommand = require('./fingerprintDirectoryCommand');
5
- const FingerprintWatchCommand = require('./fingerprintWatchCommand');
5
+ const FingerprintWatchCommand = require('./fingerprintWatchCommand').default;
6
6
  async function fingerprintDirectory(dir, watch = false) {
7
7
  if (verbose) {
8
8
  verbose(true);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fingerprint/index.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/D,MAAM,2BAA2B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC7E,MAAM,uBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAErE,KAAK,UAAU,oBAAoB,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK;IACpD,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,GAAG,CAAC;IACR,IAAI,KAAK,EAAE;QACT,GAAG,GAAG,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;KACxC;SAAM;QACL,GAAG,GAAG,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC;KAC5C;IACD,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,UAAU;IACV,YAAY;IACZ,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fingerprint/index.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/D,MAAM,2BAA2B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC7E,MAAM,uBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC;AAE7E,KAAK,UAAU,oBAAoB,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK;IACpD,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,GAAG,CAAC;IACR,IAAI,KAAK,EAAE;QACT,GAAG,GAAG,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;KACxC;SAAM;QACL,GAAG,GAAG,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC;KAC5C;IACD,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,UAAU;IACV,YAAY;IACZ,oBAAoB;CACrB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class EventAggregator {
4
+ constructor(callback, maxMsBetween = 1000) {
5
+ this.callback = callback;
6
+ this.maxMsBetween = maxMsBetween;
7
+ this.pending = [];
8
+ }
9
+ push(emitter, event, args) {
10
+ this.pending.push({ emitter, event, args });
11
+ this.refresh();
12
+ }
13
+ refresh() {
14
+ if (this.timeout)
15
+ clearTimeout(this.timeout);
16
+ this.timeout = setTimeout(this.emitPending.bind(this), this.maxMsBetween);
17
+ }
18
+ emitPending() {
19
+ this.callback(this.pending);
20
+ this.timeout = undefined;
21
+ this.pending = [];
22
+ }
23
+ attach(emitter, event) {
24
+ emitter.on(event, (...args) => this.push(emitter, event, args));
25
+ }
26
+ }
27
+ exports.default = EventAggregator;
28
+ //# sourceMappingURL=eventAggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventAggregator.js","sourceRoot":"","sources":["../../src/lib/eventAggregator.ts"],"names":[],"mappings":";;AAQA,MAAqB,eAAe;IAClC,YAAoB,QAA0C,EAAU,eAAe,IAAI;QAAvE,aAAQ,GAAR,QAAQ,CAAkC;QAAU,iBAAY,GAAZ,YAAY,CAAO;QAEnF,YAAO,GAAmB,EAAE,CAAC;IAFyD,CAAC;IAGvF,IAAI,CAAC,OAAqB,EAAE,KAAa,EAAE,IAAW;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAGO,OAAO;QACb,IAAI,IAAI,CAAC,OAAO;YAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5E,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAqB,EAAE,KAAa;QACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;CACF;AAxBD,kCAwBC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** Flattens metadata into a string-string map suitable for use in telemetry.
4
+ * Ignores git, exception and fingerprints.
5
+ */
6
+ function flattenMetadata(metadata) {
7
+ const result = new Map();
8
+ if (metadata.app)
9
+ result.set('app', metadata.app);
10
+ if (metadata.client) {
11
+ result.set('client.name', metadata.client.name);
12
+ result.set('client.url', metadata.client.url);
13
+ if (metadata.client.version)
14
+ result.set('client.version', metadata.client.version);
15
+ }
16
+ if (metadata.frameworks)
17
+ for (const { name, version } of metadata.frameworks)
18
+ result.set(`framework.${name}`, version);
19
+ if (metadata.labels)
20
+ result.set('labels', metadata.labels.join(', '));
21
+ if (metadata.language) {
22
+ result.set('language.name', metadata.language.name);
23
+ result.set('language.version', metadata.language.version);
24
+ if (metadata.language.engine)
25
+ result.set('language.engine', metadata.language.engine);
26
+ }
27
+ if (metadata.name)
28
+ result.set('name', metadata.name);
29
+ if (metadata.recorder) {
30
+ result.set('recorder.name', metadata.recorder.name);
31
+ if (metadata.recorder.type)
32
+ result.set('recorder.type', metadata.recorder.type);
33
+ }
34
+ if (metadata.testStatus)
35
+ result.set('testStatus', metadata.testStatus);
36
+ return result;
37
+ }
38
+ exports.default = flattenMetadata;
39
+ //# sourceMappingURL=flattenMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenMetadata.js","sourceRoot":"","sources":["../../src/lib/flattenMetadata.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,SAAwB,eAAe,CAAC,QAAkB;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,IAAI,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACpF;IAED,IAAI,QAAQ,CAAC,UAAU;QACrB,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,QAAQ,CAAC,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAEhG,IAAI,QAAQ,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACrB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACvF;IAED,IAAI,QAAQ,CAAC,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACrB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjF;IAED,IAAI,QAAQ,CAAC,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEvE,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,kCA+BC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.intersectMaps = void 0;
4
+ /** Creates a map that only contains entries that exist in all arguments. */
5
+ function intersectMaps(...maps) {
6
+ const first = maps.shift();
7
+ if (!first)
8
+ return new Map();
9
+ const result = new Map(first.entries());
10
+ for (const map of maps)
11
+ for (const [k, v] of map.entries())
12
+ if (result.get(k) !== v)
13
+ result.delete(k);
14
+ return result;
15
+ }
16
+ exports.intersectMaps = intersectMaps;
17
+ //# sourceMappingURL=intersectMaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersectMaps.js","sourceRoot":"","sources":["../../src/lib/intersectMaps.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC5E,SAAgB,aAAa,CAAO,GAAG,IAAiB;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,IAAI;QACpB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;YAAE,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEhF,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,sCAUC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appland/appmap",
3
- "version": "3.42.0",
3
+ "version": "3.43.0",
4
4
  "description": "",
5
5
  "bin": "built/cli.js",
6
6
  "publishConfig": {