@openreplay/tracker 5.0.2 → 5.0.4-beta.1

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/cjs/app/index.js CHANGED
@@ -33,7 +33,7 @@ class App {
33
33
  this.stopCallbacks = [];
34
34
  this.commitCallbacks = [];
35
35
  this.activityState = ActivityState.NotActive;
36
- this.version = '5.0.2'; // TODO: version compatability check inside each plugin.
36
+ this.version = '5.0.4-beta.1'; // TODO: version compatability check inside each plugin.
37
37
  this._usingOldFetchPlugin = false;
38
38
  this.delay = 0;
39
39
  this.projectKey = projectKey;
@@ -2,6 +2,7 @@ type NodeCallback = (node: Node, isStart: boolean) => void;
2
2
  export default class Nodes {
3
3
  private readonly node_id;
4
4
  private nodes;
5
+ private totalNodeAmount;
5
6
  private readonly nodeCallbacks;
6
7
  private readonly elementListeners;
7
8
  constructor(node_id: string);
package/cjs/app/nodes.js CHANGED
@@ -4,6 +4,7 @@ class Nodes {
4
4
  constructor(node_id) {
5
5
  this.node_id = node_id;
6
6
  this.nodes = [];
7
+ this.totalNodeAmount = 0;
7
8
  this.nodeCallbacks = [];
8
9
  this.elementListeners = new Map();
9
10
  }
@@ -28,6 +29,7 @@ class Nodes {
28
29
  let id = node[this.node_id];
29
30
  const isNew = id === undefined;
30
31
  if (isNew) {
32
+ this.totalNodeAmount++;
31
33
  id = this.nodes.length;
32
34
  this.nodes[id] = node;
33
35
  node[this.node_id] = id;
@@ -44,6 +46,7 @@ class Nodes {
44
46
  this.elementListeners.delete(id);
45
47
  listeners.forEach((listener) => node.removeEventListener(listener[0], listener[1], listener[2]));
46
48
  }
49
+ this.totalNodeAmount--;
47
50
  }
48
51
  return id;
49
52
  }
package/cjs/index.d.ts CHANGED
@@ -12,6 +12,7 @@ import type { Options as TimingOptions } from './modules/timing.js';
12
12
  import type { Options as NetworkOptions } from './modules/network.js';
13
13
  import type { StartOptions } from './app/index.js';
14
14
  import type { StartPromiseReturn } from './app/index.js';
15
+ import type { MouseHandlerOptions } from './modules/mouse.js';
15
16
  export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & InputOptions & PerformanceOptions & TimingOptions> & {
16
17
  projectID?: number;
17
18
  projectKey: string;
@@ -19,6 +20,7 @@ export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & I
19
20
  respectDoNotTrack?: boolean;
20
21
  autoResetOnWindowOpen?: boolean;
21
22
  network?: NetworkOptions;
23
+ mouse?: MouseHandlerOptions;
22
24
  __DISABLE_SECURE_MODE?: boolean;
23
25
  };
24
26
  export default class API {
package/cjs/index.js CHANGED
@@ -109,7 +109,7 @@ class API {
109
109
  (0, exception_js_1.default)(app, options);
110
110
  (0, img_js_1.default)(app);
111
111
  (0, input_js_1.default)(app, options);
112
- (0, mouse_js_1.default)(app);
112
+ (0, mouse_js_1.default)(app, options.mouse);
113
113
  (0, timing_js_1.default)(app, options);
114
114
  (0, performance_js_1.default)(app, options);
115
115
  (0, scroll_js_1.default)(app);
@@ -140,7 +140,7 @@ class API {
140
140
  // no-cors issue only with text/plain or not-set Content-Type
141
141
  // req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
142
142
  req.send(JSON.stringify({
143
- trackerVersion: '5.0.2',
143
+ trackerVersion: '5.0.4-beta.1',
144
144
  projectKey: options.projectKey,
145
145
  doNotTrack,
146
146
  // TODO: add precise reason (an exact API missing)
@@ -0,0 +1,53 @@
1
+ import type App from '../app/index.js';
2
+ import type { RequestResponseData, Options } from './network.js';
3
+ interface RawAxiosHeaders {
4
+ [key: string]: string;
5
+ }
6
+ interface AxiosRequestConfig {
7
+ url: string;
8
+ method?: string;
9
+ baseURL?: string;
10
+ status?: number;
11
+ headers: {
12
+ toJSON(): RawAxiosHeaders;
13
+ };
14
+ params?: any;
15
+ data?: any;
16
+ }
17
+ interface InternalAxiosRequestConfig extends AxiosRequestConfig {
18
+ __openreplay_timing: number;
19
+ headers: {
20
+ toJSON(): RawAxiosHeaders;
21
+ set(name: string, value: string): void;
22
+ };
23
+ }
24
+ interface AxiosResponse<T = any> {
25
+ data: T;
26
+ status: number;
27
+ statusText: string;
28
+ headers: {
29
+ toJSON(): RawAxiosHeaders;
30
+ };
31
+ config: InternalAxiosRequestConfig;
32
+ request?: any;
33
+ response?: AxiosRequestConfig;
34
+ }
35
+ export interface AxiosInstance extends Record<string, any> {
36
+ interceptors: {
37
+ request: AxiosInterceptorManager<InternalAxiosRequestConfig>;
38
+ response: AxiosInterceptorManager<AxiosResponse>;
39
+ };
40
+ }
41
+ export interface AxiosInterceptorOptions {
42
+ synchronous?: boolean;
43
+ }
44
+ export interface AxiosInterceptorManager<V> {
45
+ use(onFulfilled?: ((value: V) => V | Promise<V>) | null, onRejected?: ((error: any) => any) | null, options?: AxiosInterceptorOptions): number;
46
+ eject?: (id: number) => void;
47
+ clear?: () => void;
48
+ }
49
+ export default function (app: App, instance: AxiosInstance, opts: Options, sanitize: (data: RequestResponseData) => RequestResponseData | null, stringify: (data: {
50
+ headers: Record<string, string>;
51
+ body: any;
52
+ }) => string): void;
53
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const messages_gen_js_1 = require("../app/messages.gen.js");
4
+ const utils_js_1 = require("../utils.js");
5
+ function default_1(app, instance, opts, sanitize, stringify) {
6
+ function captureResponseData(axiosResponseObj) {
7
+ const { headers: reqHs, data: reqData, method, url } = axiosResponseObj.config;
8
+ const { data: rData, headers: rHs, status: globStatus, response } = axiosResponseObj;
9
+ const { data: resData, headers: resHs, status: resStatus } = response || {};
10
+ const reqResInfo = sanitize({
11
+ url,
12
+ method: method || '',
13
+ status: globStatus || resStatus || 0,
14
+ request: {
15
+ headers: reqHs.toJSON(),
16
+ body: reqData,
17
+ },
18
+ response: {
19
+ headers: (resHs === null || resHs === void 0 ? void 0 : resHs.toJSON()) || rHs.toJSON(),
20
+ body: resData || rData,
21
+ },
22
+ });
23
+ if (!reqResInfo) {
24
+ return;
25
+ }
26
+ const requestStart = axiosResponseObj.config.__openreplay_timing;
27
+ const duration = performance.now() - requestStart;
28
+ app.send((0, messages_gen_js_1.NetworkRequest)('xhr', String(method), String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), reqResInfo.status, requestStart + (0, utils_js_1.getTimeOrigin)(), duration));
29
+ }
30
+ function getStartTime(config) {
31
+ config.__openreplay_timing = performance.now();
32
+ if (opts.sessionTokenHeader) {
33
+ const header = typeof opts.sessionTokenHeader === 'string'
34
+ ? opts.sessionTokenHeader
35
+ : 'X-OpenReplay-Session-Token';
36
+ const headerValue = app.getSessionToken();
37
+ if (headerValue) {
38
+ config.headers.set(header, headerValue);
39
+ }
40
+ }
41
+ return config;
42
+ }
43
+ function captureNetworkRequest(response) {
44
+ if (opts.failuresOnly)
45
+ return response;
46
+ captureResponseData(response);
47
+ return response;
48
+ }
49
+ function captureNetworkError(error) {
50
+ captureResponseData(error);
51
+ return Promise.reject(error);
52
+ }
53
+ const reqInt = instance.interceptors.request.use(getStartTime, null, { synchronous: true });
54
+ const resInt = instance.interceptors.response.use(captureNetworkRequest, captureNetworkError, {
55
+ synchronous: true,
56
+ });
57
+ app.attachStopCallback(() => {
58
+ var _a, _b, _c, _d;
59
+ (_b = (_a = instance.interceptors.request).eject) === null || _b === void 0 ? void 0 : _b.call(_a, reqInt);
60
+ (_d = (_c = instance.interceptors.response).eject) === null || _d === void 0 ? void 0 : _d.call(_c, resInt);
61
+ });
62
+ }
63
+ exports.default = default_1;
@@ -1,2 +1,24 @@
1
1
  import type App from '../app/index.js';
2
- export default function (app: App): void;
2
+ export interface MouseHandlerOptions {
3
+ disableClickmaps?: boolean;
4
+ /** minimum length of an optimised selector.
5
+ *
6
+ * body > div > div > p => body > p for example
7
+ *
8
+ * default 2
9
+ * */
10
+ minSelectorDepth?: number;
11
+ /** how many selectors to try before falling back to nth-child selectors
12
+ * performance expensive operation
13
+ *
14
+ * default 1000
15
+ * */
16
+ nthThreshold?: number;
17
+ /**
18
+ * how many tries to optimise and shorten the selector
19
+ *
20
+ * default 10_000
21
+ * */
22
+ maxOptimiseTries?: number;
23
+ }
24
+ export default function (app: App, options?: MouseHandlerOptions): void;
@@ -5,13 +5,13 @@ const utils_js_1 = require("../utils.js");
5
5
  const messages_gen_js_1 = require("../app/messages.gen.js");
6
6
  const input_js_1 = require("./input.js");
7
7
  const finder_1 = require("@medv/finder");
8
- function _getSelector(target, document) {
8
+ function _getSelector(target, document, options) {
9
9
  const selector = (0, finder_1.finder)(target, {
10
10
  root: document.body,
11
11
  seedMinLength: 3,
12
- optimizedMinLength: 2,
13
- threshold: 1000,
14
- maxNumberOfTries: 10000,
12
+ optimizedMinLength: (options === null || options === void 0 ? void 0 : options.minSelectorDepth) || 2,
13
+ threshold: (options === null || options === void 0 ? void 0 : options.nthThreshold) || 1000,
14
+ maxNumberOfTries: (options === null || options === void 0 ? void 0 : options.maxOptimiseTries) || 10000,
15
15
  });
16
16
  return selector;
17
17
  }
@@ -26,7 +26,7 @@ function isClickable(element) {
26
26
  element.onclick != null ||
27
27
  element.getAttribute('role') === 'button');
28
28
  //|| element.className.includes("btn")
29
- // MBTODO: intersept addEventListener
29
+ // MBTODO: intercept addEventListener
30
30
  }
31
31
  //TODO: fix (typescript is not sure about target variable after assignation of svg)
32
32
  function getTarget(target, document) {
@@ -66,7 +66,8 @@ function _getTarget(target, document) {
66
66
  }
67
67
  return target === document.documentElement ? null : target;
68
68
  }
69
- function default_1(app) {
69
+ function default_1(app, options) {
70
+ const { disableClickmaps = false } = options || {};
70
71
  function getTargetLabel(target) {
71
72
  const dl = (0, utils_js_1.getLabelAttribute)(target);
72
73
  if (dl !== null) {
@@ -105,8 +106,8 @@ function default_1(app) {
105
106
  }
106
107
  };
107
108
  const patchDocument = (document, topframe = false) => {
108
- function getSelector(id, target) {
109
- return (selectorMap[id] = selectorMap[id] || _getSelector(target, document));
109
+ function getSelector(id, target, options) {
110
+ return (selectorMap[id] = selectorMap[id] || _getSelector(target, document, options));
110
111
  }
111
112
  const attachListener = topframe
112
113
  ? app.attachEventListener.bind(app) // attached/removed on start/stop
@@ -132,7 +133,7 @@ function default_1(app) {
132
133
  const id = app.nodes.getID(target);
133
134
  if (id !== undefined) {
134
135
  sendMouseMove();
135
- app.send((0, messages_gen_js_1.MouseClick)(id, mouseTarget === target ? Math.round(performance.now() - mouseTargetTime) : 0, getTargetLabel(target), isClickable(target) ? getSelector(id, target) : ''), true);
136
+ app.send((0, messages_gen_js_1.MouseClick)(id, mouseTarget === target ? Math.round(performance.now() - mouseTargetTime) : 0, getTargetLabel(target), isClickable(target) && !disableClickmaps ? getSelector(id, target, options) : ''), true);
136
137
  }
137
138
  mouseTarget = null;
138
139
  });
@@ -1,4 +1,5 @@
1
1
  import type App from '../app/index.js';
2
+ import type { AxiosInstance } from './axiosSpy.js';
2
3
  type XHRRequestBody = Parameters<XMLHttpRequest['send']>[0];
3
4
  type FetchRequestBody = RequestInit['body'];
4
5
  interface RequestData {
@@ -9,7 +10,7 @@ interface ResponseData {
9
10
  body: any;
10
11
  headers: Record<string, string>;
11
12
  }
12
- interface RequestResponseData {
13
+ export interface RequestResponseData {
13
14
  readonly status: number;
14
15
  readonly method: string;
15
16
  url: string;
@@ -22,6 +23,7 @@ export interface Options {
22
23
  failuresOnly: boolean;
23
24
  ignoreHeaders: Array<string> | boolean;
24
25
  capturePayload: boolean;
26
+ axiosInstances?: Array<AxiosInstance>;
25
27
  sanitizer?: Sanitizer;
26
28
  }
27
29
  export default function (app: App, opts?: Partial<Options>): void;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const messages_gen_js_1 = require("../app/messages.gen.js");
4
4
  const utils_js_1 = require("../utils.js");
5
+ const axiosSpy_js_1 = require("./axiosSpy.js");
5
6
  function getXHRRequestDataObject(xhr) {
6
7
  // @ts-ignore this is 3x faster than using Map<XHR, XHRRequestData>
7
8
  if (!xhr.__or_req_data__) {
@@ -20,6 +21,7 @@ function default_1(app, opts = {}) {
20
21
  ignoreHeaders: ['Cookie', 'Set-Cookie', 'Authorization'],
21
22
  capturePayload: false,
22
23
  sessionTokenHeader: false,
24
+ axiosInstances: undefined,
23
25
  }, opts);
24
26
  const ignoreHeaders = options.ignoreHeaders;
25
27
  const isHIgnored = Array.isArray(ignoreHeaders)
@@ -141,63 +143,75 @@ function default_1(app, opts = {}) {
141
143
  });
142
144
  };
143
145
  /* ====== <> ====== */
144
- /* ====== XHR ====== */
145
- const nativeOpen = XMLHttpRequest.prototype.open;
146
- XMLHttpRequest.prototype.open = function (initMethod, url) {
147
- const xhr = this;
148
- setSessionTokenHeader((name, value) => xhr.setRequestHeader(name, value));
149
- let startTime = 0;
150
- xhr.addEventListener('loadstart', (e) => {
151
- startTime = e.timeStamp;
146
+ /*
147
+ ====== AXIOS ======
148
+ (because it doesn't work with just xhr tracking)
149
+ */
150
+ if (options.axiosInstances) {
151
+ options.axiosInstances.forEach((axiosInstance) => {
152
+ (0, axiosSpy_js_1.default)(app, axiosInstance, options, sanitize, stringify);
152
153
  });
153
- xhr.addEventListener('load', app.safe((e) => {
154
- const { headers: reqHs, body: reqBody } = getXHRRequestDataObject(xhr);
155
- const duration = startTime > 0 ? e.timeStamp - startTime : 0;
156
- const hString = ignoreHeaders ? '' : xhr.getAllResponseHeaders(); // might be null (though only if no response received though)
157
- const resHs = hString
158
- ? hString
159
- .split('\r\n')
160
- .map((h) => h.split(':'))
161
- .filter((entry) => !isHIgnored(entry[0]))
162
- .reduce((hds, [name, value]) => (Object.assign(Object.assign({}, hds), { [name]: value })), {})
163
- : {};
164
- const method = strMethod(initMethod);
165
- const reqResInfo = sanitize({
166
- url: String(url),
167
- method,
168
- status: xhr.status,
169
- request: {
170
- headers: reqHs,
171
- body: reqBody,
172
- },
173
- response: {
174
- headers: resHs,
175
- body: xhr.response,
176
- },
154
+ /* ====== <> ====== */
155
+ }
156
+ else {
157
+ /* ====== XHR ====== */
158
+ const nativeOpen = XMLHttpRequest.prototype.open;
159
+ XMLHttpRequest.prototype.open = function (initMethod, url) {
160
+ const xhr = this;
161
+ setSessionTokenHeader((name, value) => xhr.setRequestHeader(name, value));
162
+ let startTime = 0;
163
+ xhr.addEventListener('loadstart', (e) => {
164
+ startTime = e.timeStamp;
177
165
  });
178
- if (!reqResInfo) {
179
- return;
180
- }
181
- app.send((0, messages_gen_js_1.NetworkRequest)('xhr', method, String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), xhr.status, startTime + (0, utils_js_1.getTimeOrigin)(), duration));
182
- }));
183
- //TODO: handle error (though it has no Error API nor any useful information)
184
- //xhr.addEventListener('error', (e) => {})
185
- return nativeOpen.apply(this, arguments);
186
- };
187
- const nativeSend = XMLHttpRequest.prototype.send;
188
- XMLHttpRequest.prototype.send = function (body) {
189
- const rdo = getXHRRequestDataObject(this);
190
- rdo.body = body;
191
- return nativeSend.apply(this, arguments);
192
- };
193
- const nativeSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
194
- XMLHttpRequest.prototype.setRequestHeader = function (name, value) {
195
- if (!isHIgnored(name)) {
166
+ xhr.addEventListener('load', app.safe((e) => {
167
+ const { headers: reqHs, body: reqBody } = getXHRRequestDataObject(xhr);
168
+ const duration = startTime > 0 ? e.timeStamp - startTime : 0;
169
+ const hString = ignoreHeaders ? '' : xhr.getAllResponseHeaders(); // might be null (though only if no response received though)
170
+ const resHs = hString
171
+ ? hString
172
+ .split('\r\n')
173
+ .map((h) => h.split(':'))
174
+ .filter((entry) => !isHIgnored(entry[0]))
175
+ .reduce((hds, [name, value]) => (Object.assign(Object.assign({}, hds), { [name]: value })), {})
176
+ : {};
177
+ const method = strMethod(initMethod);
178
+ const reqResInfo = sanitize({
179
+ url: String(url),
180
+ method,
181
+ status: xhr.status,
182
+ request: {
183
+ headers: reqHs,
184
+ body: reqBody,
185
+ },
186
+ response: {
187
+ headers: resHs,
188
+ body: xhr.response,
189
+ },
190
+ });
191
+ if (!reqResInfo) {
192
+ return;
193
+ }
194
+ app.send((0, messages_gen_js_1.NetworkRequest)('xhr', method, String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), xhr.status, startTime + (0, utils_js_1.getTimeOrigin)(), duration));
195
+ }));
196
+ //TODO: handle error (though it has no Error API nor any useful information)
197
+ //xhr.addEventListener('error', (e) => {})
198
+ return nativeOpen.apply(this, arguments);
199
+ };
200
+ const nativeSend = XMLHttpRequest.prototype.send;
201
+ XMLHttpRequest.prototype.send = function (body) {
196
202
  const rdo = getXHRRequestDataObject(this);
197
- rdo.headers[name] = value;
198
- }
199
- return nativeSetRequestHeader.apply(this, arguments);
200
- };
201
- /* ====== <> ====== */
203
+ rdo.body = body;
204
+ return nativeSend.apply(this, arguments);
205
+ };
206
+ const nativeSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
207
+ XMLHttpRequest.prototype.setRequestHeader = function (name, value) {
208
+ if (!isHIgnored(name)) {
209
+ const rdo = getXHRRequestDataObject(this);
210
+ rdo.headers[name] = value;
211
+ }
212
+ return nativeSetRequestHeader.apply(this, arguments);
213
+ };
214
+ /* ====== <> ====== */
215
+ }
202
216
  }
203
217
  exports.default = default_1;
package/lib/app/index.js CHANGED
@@ -30,7 +30,7 @@ export default class App {
30
30
  this.stopCallbacks = [];
31
31
  this.commitCallbacks = [];
32
32
  this.activityState = ActivityState.NotActive;
33
- this.version = '5.0.2'; // TODO: version compatability check inside each plugin.
33
+ this.version = '5.0.4-beta.1'; // TODO: version compatability check inside each plugin.
34
34
  this._usingOldFetchPlugin = false;
35
35
  this.delay = 0;
36
36
  this.projectKey = projectKey;
@@ -2,6 +2,7 @@ type NodeCallback = (node: Node, isStart: boolean) => void;
2
2
  export default class Nodes {
3
3
  private readonly node_id;
4
4
  private nodes;
5
+ private totalNodeAmount;
5
6
  private readonly nodeCallbacks;
6
7
  private readonly elementListeners;
7
8
  constructor(node_id: string);
package/lib/app/nodes.js CHANGED
@@ -2,6 +2,7 @@ export default class Nodes {
2
2
  constructor(node_id) {
3
3
  this.node_id = node_id;
4
4
  this.nodes = [];
5
+ this.totalNodeAmount = 0;
5
6
  this.nodeCallbacks = [];
6
7
  this.elementListeners = new Map();
7
8
  }
@@ -26,6 +27,7 @@ export default class Nodes {
26
27
  let id = node[this.node_id];
27
28
  const isNew = id === undefined;
28
29
  if (isNew) {
30
+ this.totalNodeAmount++;
29
31
  id = this.nodes.length;
30
32
  this.nodes[id] = node;
31
33
  node[this.node_id] = id;
@@ -42,6 +44,7 @@ export default class Nodes {
42
44
  this.elementListeners.delete(id);
43
45
  listeners.forEach((listener) => node.removeEventListener(listener[0], listener[1], listener[2]));
44
46
  }
47
+ this.totalNodeAmount--;
45
48
  }
46
49
  return id;
47
50
  }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/messages.gen.ts","../../src/common/interaction.ts","../../node_modules/@types/babel__generator/node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__template/node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/parse5/dist/cjs/common/html.d.ts","../../node_modules/parse5/dist/cjs/common/token.d.ts","../../node_modules/parse5/dist/cjs/common/error-codes.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts","../../node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts","../../node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts","../../node_modules/parse5/dist/cjs/parser/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/default.d.ts","../../node_modules/parse5/dist/cjs/serializer/index.d.ts","../../node_modules/parse5/dist/cjs/common/foreign-content.d.ts","../../node_modules/parse5/dist/cjs/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/jsdom/base.d.ts","../../node_modules/@types/jsdom/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"602621789a7807ee16c2dd04a9d7417684e7e6dab5884fdd935bfa31fd514181","signature":"01a8fc33223f37459ddbac2b0518935db0886d42a36ed43dbab84b766c42eeaf","impliedFormat":99},{"version":"58d11525135fe2d2deb7707e8581aee24348d438f1f3cdef3aa0bc0fa595eac3","signature":"a8f97556bc61c36900c9a9fcac6e6fe91c842ede87d386f86b6df0e787ff3c67","impliedFormat":99},{"version":"3078727fed04c123165efdb42deeac5dceaa42ac62216ca13cb809dc7e13415f","impliedFormat":1},{"version":"cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","impliedFormat":1},{"version":"f4617bbd5403ec5b058db53b242dcb1421952e2652bd5c80abf6a1c4ea5656d6","impliedFormat":1},{"version":"230d323ef7f2ffadfc0ceae494492c4d2faa2b4eaec07a4b71424d084b97ebb8","impliedFormat":1},{"version":"3078727fed04c123165efdb42deeac5dceaa42ac62216ca13cb809dc7e13415f","impliedFormat":1},{"version":"b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","impliedFormat":1},{"version":"93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","impliedFormat":1},{"version":"3078727fed04c123165efdb42deeac5dceaa42ac62216ca13cb809dc7e13415f","impliedFormat":1},{"version":"dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","impliedFormat":1},{"version":"b6ddf3a46ccfa4441d8be84d2e9bf3087573c48804196faedbd4a25b60631beb","impliedFormat":1},{"version":"89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","impliedFormat":1},{"version":"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true,"impliedFormat":1},{"version":"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9","impliedFormat":1},{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","impliedFormat":1},{"version":"f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true,"impliedFormat":1},{"version":"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","impliedFormat":1},{"version":"d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","impliedFormat":1},{"version":"5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","impliedFormat":1},{"version":"04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","impliedFormat":1},{"version":"8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","impliedFormat":1},{"version":"7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f","impliedFormat":1},{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","impliedFormat":1},{"version":"4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true,"impliedFormat":1},{"version":"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","impliedFormat":1},{"version":"ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"8dbe725f8d237e70310977afcfa011629804d101ebaa0266cafda6b61ad72236","impliedFormat":1},{"version":"963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","impliedFormat":1},{"version":"f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","impliedFormat":1},{"version":"ba600bf38b5c1a5dffa1b99dd7a783549082bbba3b4fe9497eaaf5e4c1764b20","impliedFormat":1},{"version":"ae8cd6af37275eac75f5369cdb5f01063bcf1f48d74cb434303ee50ec446acfe","impliedFormat":1},{"version":"2518830a2fda9c272ba48798d0e7b857037443b06594db8e42c87e86944ee9e4","impliedFormat":1},{"version":"95c1cf650d16b197525b5bfdf8dd7abba0a49d99ddb12a4ba66466a8a6903e49","impliedFormat":1},{"version":"1fe0aabe758d56ad72495d6e6c7b6ae75619faaeaaf03f0ddf1948eea4cfac84","impliedFormat":1},{"version":"bbc57966c8c48ee78fd58aadb893784025be056ae538ae22d1e83c502a987e68","impliedFormat":1},{"version":"5e5d6f6697e378b0660b567866bf67d099d0ea754f8810c0dabe737805f5cf03","impliedFormat":1},{"version":"99ab49d4732fdc98cf5c495925e65e796544cb4086fe42afc235dfc02bcf2351","impliedFormat":1},{"version":"af8339d509c40da075088e544c28ed37b519876e5c4d36a48644ebfb3c6ae6c8","impliedFormat":1},{"version":"d393adc32e520d4274bb4c3dfdcdb342b806a230b66ef0f82b35bffbc4aa2590","impliedFormat":1},{"version":"c26af7eaedb4f710984634e419ab15e54e5bb99a0b3cae71188c2fff572276de","impliedFormat":1},{"version":"38b58ef018d0aeee42ef74c42978bb5805503233fdeeb82cd2aed2199fb0d013","impliedFormat":1},{"version":"3b6040253231d44e6778eb6861cc86c1758562e77783d21b7ecbc73322ded539","impliedFormat":1},{"version":"cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","impliedFormat":1},{"version":"fd0589ca571ad090b531d8c095e26caa53d4825c64d3ff2b2b1ab95d72294175","impliedFormat":1},{"version":"669843ecafb89ae1e944df06360e8966219e4c1c34c0d28aa2503272cdd444a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","impliedFormat":1},{"version":"8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","impliedFormat":1},{"version":"ae84439d1ae42b30ced3df38c4285f35b805be40dfc95b0647d0e59c70b11f97","impliedFormat":1}],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[48,103],[103],[47,48,49,52,54,103],[46,103],[46,51,103],[73,74,103,110,111],[74,103,110],[103,114],[103,115],[73,103,105,110,129,130,132],[103,131],[57,103],[60,103],[61,66,94,103],[62,73,74,81,91,102,103],[62,63,73,81,103],[64,103],[65,66,74,82,103],[66,91,99,103],[67,69,73,81,103],[68,103],[69,70,103],[73,103],[71,73,103],[73,74,75,91,102,103],[73,74,75,88,91,94,103],[103,107],[69,76,81,91,102,103],[73,74,76,77,81,91,99,102,103],[76,78,91,99,102,103],[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],[73,79,103],[80,102,103],[69,73,81,91,103],[82,103],[83,103],[60,84,103],[85,101,103,107],[86,103],[87,103],[73,88,89,103],[88,90,103,105],[61,73,91,92,93,94,103],[61,91,93,103],[91,92,103],[94,103],[95,103],[73,97,98,103],[97,98,103],[66,81,91,99,103],[100,103],[81,101,103],[61,76,87,102,103],[66,103],[91,103,104],[103,105],[103,106],[61,66,73,75,84,91,102,103,105,107],[91,103,108],[103,110],[103,136,175],[103,136,160,175],[103,175],[103,136],[103,136,161,175],[103,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174],[103,161,175],[103,177],[103,118],[103,117,118],[103,117],[103,117,118,119,121,122,125,126,127,128],[103,118,122],[103,117,118,119,121,122,123,124],[103,117,122],[103,122,126],[103,118,119,120],[103,119],[103,117,118,122],[44,103],[44]],"referencedMap":[[49,1],[48,2],[55,3],[47,4],[46,2],[52,5],[51,4],[50,2],[54,4],[53,2],[56,2],[112,6],[113,7],[114,2],[115,8],[116,9],[131,10],[132,11],[133,2],[111,2],[57,12],[58,12],[60,13],[61,14],[62,15],[63,16],[64,17],[65,18],[66,19],[67,20],[68,21],[69,22],[70,22],[72,23],[71,24],[73,23],[74,25],[75,26],[59,27],[109,2],[76,28],[77,29],[78,30],[110,31],[79,32],[80,33],[81,34],[82,35],[83,36],[84,37],[85,38],[86,39],[87,40],[88,41],[89,41],[90,42],[91,43],[93,44],[92,45],[94,46],[95,47],[96,2],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[103,54],[104,55],[105,56],[106,57],[107,58],[108,59],[134,2],[135,60],[160,61],[161,62],[136,63],[139,63],[158,61],[159,61],[149,61],[148,64],[146,61],[141,61],[154,61],[152,61],[156,61],[140,61],[153,61],[157,61],[142,61],[143,61],[155,61],[137,61],[144,61],[145,61],[147,61],[151,61],[162,65],[150,61],[138,61],[175,66],[174,2],[169,65],[171,67],[170,65],[163,65],[164,65],[166,65],[168,65],[172,67],[173,67],[165,67],[167,67],[176,2],[130,2],[177,2],[178,68],[119,69],[128,70],[117,2],[118,71],[129,72],[124,73],[125,74],[123,75],[127,76],[121,77],[120,78],[126,79],[122,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,80],[44,2]],"exportedModulesMap":[[49,1],[48,2],[55,3],[47,4],[46,2],[52,5],[51,4],[50,2],[54,4],[53,2],[56,2],[112,6],[113,7],[114,2],[115,8],[116,9],[131,10],[132,11],[133,2],[111,2],[57,12],[58,12],[60,13],[61,14],[62,15],[63,16],[64,17],[65,18],[66,19],[67,20],[68,21],[69,22],[70,22],[72,23],[71,24],[73,23],[74,25],[75,26],[59,27],[109,2],[76,28],[77,29],[78,30],[110,31],[79,32],[80,33],[81,34],[82,35],[83,36],[84,37],[85,38],[86,39],[87,40],[88,41],[89,41],[90,42],[91,43],[93,44],[92,45],[94,46],[95,47],[96,2],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[103,54],[104,55],[105,56],[106,57],[107,58],[108,59],[134,2],[135,60],[160,61],[161,62],[136,63],[139,63],[158,61],[159,61],[149,61],[148,64],[146,61],[141,61],[154,61],[152,61],[156,61],[140,61],[153,61],[157,61],[142,61],[143,61],[155,61],[137,61],[144,61],[145,61],[147,61],[151,61],[162,65],[150,61],[138,61],[175,66],[174,2],[169,65],[171,67],[170,65],[163,65],[164,65],[166,65],[168,65],[172,67],[173,67],[165,67],[167,67],[176,2],[130,2],[177,2],[178,68],[119,69],[128,70],[117,2],[118,71],[129,72],[124,73],[125,74],[123,75],[127,76],[121,77],[120,78],[126,79],[122,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,81]],"semanticDiagnosticsPerFile":[49,48,55,47,46,52,51,50,54,53,56,112,113,114,115,116,131,132,133,111,57,58,60,61,62,63,64,65,66,67,68,69,70,72,71,73,74,75,59,109,76,77,78,110,79,80,81,82,83,84,85,86,87,88,89,90,91,93,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,134,135,160,161,136,139,158,159,149,148,146,141,154,152,156,140,153,157,142,143,155,137,144,145,147,151,162,150,138,175,174,169,171,170,163,164,166,168,172,173,165,167,176,130,177,178,119,128,117,118,129,124,125,123,127,121,120,126,122,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,45,44],"latestChangedDtsFile":"./interaction.d.ts"},"version":"4.9.5"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/messages.gen.ts","../../src/common/interaction.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/parse5/dist/cjs/common/html.d.ts","../../node_modules/parse5/dist/cjs/common/token.d.ts","../../node_modules/parse5/dist/cjs/common/error-codes.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts","../../node_modules/parse5/dist/cjs/tokenizer/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts","../../node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts","../../node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts","../../node_modules/parse5/dist/cjs/parser/index.d.ts","../../node_modules/parse5/dist/cjs/tree-adapters/default.d.ts","../../node_modules/parse5/dist/cjs/serializer/index.d.ts","../../node_modules/parse5/dist/cjs/common/foreign-content.d.ts","../../node_modules/parse5/dist/cjs/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/jsdom/base.d.ts","../../node_modules/@types/jsdom/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"602621789a7807ee16c2dd04a9d7417684e7e6dab5884fdd935bfa31fd514181","signature":"01a8fc33223f37459ddbac2b0518935db0886d42a36ed43dbab84b766c42eeaf","impliedFormat":99},{"version":"58d11525135fe2d2deb7707e8581aee24348d438f1f3cdef3aa0bc0fa595eac3","signature":"a8f97556bc61c36900c9a9fcac6e6fe91c842ede87d386f86b6df0e787ff3c67","impliedFormat":99},{"version":"a20fc1fcd9cd7c2b79d5f00d14802c1d58c3848e09ee4f84b350591af88b7636","impliedFormat":1},{"version":"cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","impliedFormat":1},{"version":"b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","impliedFormat":1},{"version":"93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","impliedFormat":1},{"version":"dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","impliedFormat":1},{"version":"b6ddf3a46ccfa4441d8be84d2e9bf3087573c48804196faedbd4a25b60631beb","impliedFormat":1},{"version":"89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","impliedFormat":1},{"version":"9ee13abb39c50c2f45b5362dbadc55334e82dfc9789cfc070808e10dc5f60000","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"03c04ba2137908b3b6219ecadc3471d4e39bb9030e6404510ee6e87a3b590a2d","impliedFormat":1},{"version":"772ff00e189d93488d1ca6f0f4dfba77bd090a99ed31e19a14bc16fad4078e48","affectsGlobalScope":true,"impliedFormat":1},{"version":"3d2bcfb9c4591832ec479f830c49c291419caeb19953506bdeef1c0e6ad79b03","impliedFormat":1},{"version":"ac0c7cb0a4c1bec60be2c0460b3bda1e674eaf2c98312d7b6f16a0bb58718e2d","impliedFormat":1},{"version":"7e2181a6fc140b4525d5a45c204477c37fa78a635558e88552c68f76a4325403","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"0ea59475772c2a8fdeb1f41ad9b02025aff6423003ec7eaf8129ee846f438aee","impliedFormat":1},{"version":"276b547eeb8eeeee9a446a3bfa6e07d1c0199269bdcf33813abab1281394a9cb","impliedFormat":1},{"version":"c999f7816955f75b447823e3e4085f699600e2a4a3327907df9af65b0a9c0df6","impliedFormat":1},{"version":"64361245fe025cbbad90451dd3698f7e6822d465ef568cbee3a4d8ddb52e7cda","impliedFormat":1},{"version":"8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","impliedFormat":1},{"version":"9b814e0806922056145bedb096f11b73bdce70cc871f3ccfc4ce00b2cba75718","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"2013a2215691096d953ce7cefbc71a6cd31ef14be092cd003792714c5cd23bde","affectsGlobalScope":true,"impliedFormat":1},{"version":"60155c38ec392043962a90006153f7e31187b93411f2d8f9b35f595e98b8d75f","impliedFormat":1},{"version":"2ad6a251b6ef19fd1f8498f83bb7b265033bd52287e1f6569d09544f18806713","impliedFormat":1},{"version":"bfa08f2c30c475aef1c9451855ba6b2acfdc64f61950a38fae75806d66fb85c2","impliedFormat":1},{"version":"159807eb55a9439f9a675bd493788190a6203b5f36c315f8c3acbfcb875c7072","impliedFormat":1},{"version":"fe31b2b31ac5453fc7b8eef32b62017e55b214ceb884f0b177f442af92e84682","impliedFormat":1},{"version":"dd72576c8ea64d55af46a386068503d3cfcecce84ed7e1cbd4ff4081ba67fafc","impliedFormat":1},{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"70a7e8a7880d55396285e4b85ff5bdf3af3083176abe07f944967836f2a43188","impliedFormat":1},{"version":"3570df7c6f3a976109f55b596a2d88c2f87e0574cd1502272594ee5c4e56d0ef","impliedFormat":1},{"version":"850e95721334c2aa7697b08782f443ec4286274e5024169d4443933544f359d7","impliedFormat":1},{"version":"74e6cd21f7b5e29fab05060ea24e2b90aa254f16f3f62ccd7055bdb8fc7b2ff5","affectsGlobalScope":true,"impliedFormat":1},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true,"impliedFormat":1},{"version":"1eb6c5569d41e6021832d0a8a71f45fecbc13d03ad7d306da485999148b64955","impliedFormat":1},{"version":"c05ef0ecf06540ad3039515c10d3b27f9380639ced40f4093fd073e1b5ff21d9","impliedFormat":1},{"version":"fd25a0d3e6448b61d33e1fe4e0667a1a87a77e53570b65a454937cf2dc92f967","impliedFormat":1},{"version":"c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","impliedFormat":1},{"version":"24a68c38b5c66d6a6883624342560d88db670e97824b397e78d9dac121aa8bae","impliedFormat":1},{"version":"9a134dbb29f0af914d90b23f609b39019d66ed53db7d492ab6b04c67114559da","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"7b3781fbdfddbee8dba55ccee5aa74a7c8d6701ade11d49ab7d8cb1fcefe669e","impliedFormat":1},{"version":"c4aab2ec3a249f2a4caa9cbdb099752a80daf999b79d85aa3504cdfd6e559476","impliedFormat":1},{"version":"666d3f264db693828f6edc2eb53ae6013e40f6e39278ca209c7a8a99ac91b62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","impliedFormat":1},{"version":"c764a6cf523d13f2304a23216cd1084e28c041eebabd8aa9b2a9d99866c668c0","impliedFormat":1},{"version":"1272a5c2bd05961adc473e905332b7a422b00485c10b41c752f7fcf6835e3436","impliedFormat":1},{"version":"30ef92bf8135ce36ba1231fe41715276f2a40be72a478ddeb862bc16672e8680","impliedFormat":1},{"version":"4ace0a30a70fe5963442d75ea6e69f525671ae76f6e57ab7556c44839b4237e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f03dbf03c001fb3ac1c9bea6dde049dfff27ef8886cc4a886374aacf2e997d","affectsGlobalScope":true,"impliedFormat":1},{"version":"66bfb3de947abf4b117ee849c245425dbe494d6903e28f9ded566e91c9d05d77","impliedFormat":1},{"version":"c28d4f58131b93d60e087b86148d4e0c9d9b5c49c23ff1a9d1a9594fdedd5d08","impliedFormat":1},{"version":"c6b5d7f259544c91024ecf2b17138574a3f6ff2476468fafd7f957d2b68d6d98","impliedFormat":1},{"version":"1ec27c4b695590464113276d174f873e260e468ef226b7dc18f9193875fa559d","affectsGlobalScope":true,"impliedFormat":1},{"version":"33da4ee2ab9fdd9ef8b3fc526d871ce02ae8c825283f5695e7cad507c087b97c","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"71709584ed5ed7d236dc225441ec4634ffc6c718853e04b9c27b9ea121459044","impliedFormat":1},{"version":"963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","impliedFormat":1},{"version":"f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","impliedFormat":1},{"version":"ba600bf38b5c1a5dffa1b99dd7a783549082bbba3b4fe9497eaaf5e4c1764b20","impliedFormat":1},{"version":"ae8cd6af37275eac75f5369cdb5f01063bcf1f48d74cb434303ee50ec446acfe","impliedFormat":1},{"version":"2518830a2fda9c272ba48798d0e7b857037443b06594db8e42c87e86944ee9e4","impliedFormat":1},{"version":"95c1cf650d16b197525b5bfdf8dd7abba0a49d99ddb12a4ba66466a8a6903e49","impliedFormat":1},{"version":"1fe0aabe758d56ad72495d6e6c7b6ae75619faaeaaf03f0ddf1948eea4cfac84","impliedFormat":1},{"version":"bbc57966c8c48ee78fd58aadb893784025be056ae538ae22d1e83c502a987e68","impliedFormat":1},{"version":"5e5d6f6697e378b0660b567866bf67d099d0ea754f8810c0dabe737805f5cf03","impliedFormat":1},{"version":"99ab49d4732fdc98cf5c495925e65e796544cb4086fe42afc235dfc02bcf2351","impliedFormat":1},{"version":"af8339d509c40da075088e544c28ed37b519876e5c4d36a48644ebfb3c6ae6c8","impliedFormat":1},{"version":"d393adc32e520d4274bb4c3dfdcdb342b806a230b66ef0f82b35bffbc4aa2590","impliedFormat":1},{"version":"c26af7eaedb4f710984634e419ab15e54e5bb99a0b3cae71188c2fff572276de","impliedFormat":1},{"version":"38b58ef018d0aeee42ef74c42978bb5805503233fdeeb82cd2aed2199fb0d013","impliedFormat":1},{"version":"3b6040253231d44e6778eb6861cc86c1758562e77783d21b7ecbc73322ded539","impliedFormat":1},{"version":"cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","impliedFormat":1},{"version":"fd0589ca571ad090b531d8c095e26caa53d4825c64d3ff2b2b1ab95d72294175","impliedFormat":1},{"version":"669843ecafb89ae1e944df06360e8966219e4c1c34c0d28aa2503272cdd444a7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","impliedFormat":1},{"version":"8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","impliedFormat":1},{"version":"e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750","impliedFormat":1}],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[46,99],[99],[46,47,48,49,50,99],[46,48,99],[69,70,99,106,107],[70,99,106],[99,110],[99,111],[69,99,101,106,125,126,128],[99,127],[53,99],[56,99],[57,62,90,99],[58,69,70,77,87,98,99],[58,59,69,77,99],[60,99],[61,62,70,78,99],[62,87,95,99],[63,65,69,77,99],[64,99],[65,66,99],[69,99],[67,69,99],[69,70,71,87,98,99],[69,70,71,84,87,90,99],[99,103],[65,69,72,77,87,98,99],[69,70,72,73,77,87,95,98,99],[72,74,87,95,98,99],[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],[69,75,99],[76,98,99],[65,69,77,87,99],[78,99],[79,99],[56,80,99],[81,97,99,103],[82,99],[83,99],[69,84,85,99],[84,86,99,101],[57,69,87,88,89,90,99],[57,87,89,99],[87,88,99],[90,99],[91,99],[87,99],[69,93,94,99],[93,94,99],[62,77,87,95,99],[96,99],[77,97,99],[57,72,83,98,99],[62,99],[87,99,100],[99,101],[99,102],[57,62,69,71,80,87,98,99,101,103],[87,99,104],[99,106],[99,132,171],[99,132,156,171],[99,171],[99,132],[99,132,157,171],[99,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[99,157,171],[99,173],[99,114],[99,113,114],[99,113],[99,113,114,115,117,118,121,122,123,124],[99,114,118],[99,113,114,115,117,118,119,120],[99,113,118],[99,118,122],[99,114,115,116],[99,115],[99,113,114,118],[44,99],[44]],"referencedMap":[[48,1],[46,2],[51,3],[47,1],[49,4],[50,1],[52,2],[108,5],[109,6],[110,2],[111,7],[112,8],[127,9],[128,10],[129,2],[107,2],[53,11],[54,11],[56,12],[57,13],[58,14],[59,15],[60,16],[61,17],[62,18],[63,19],[64,20],[65,21],[66,21],[68,22],[67,23],[69,22],[70,24],[71,25],[55,26],[105,2],[72,27],[73,28],[74,29],[106,30],[75,31],[76,32],[77,33],[78,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,40],[86,41],[87,42],[89,43],[88,44],[90,45],[91,46],[92,47],[93,48],[94,49],[95,50],[96,51],[97,52],[98,53],[99,54],[100,55],[101,56],[102,57],[103,58],[104,59],[130,2],[131,60],[156,61],[157,62],[132,63],[135,63],[154,61],[155,61],[145,61],[144,64],[142,61],[137,61],[150,61],[148,61],[152,61],[136,61],[149,61],[153,61],[138,61],[139,61],[151,61],[133,61],[140,61],[141,61],[143,61],[147,61],[158,65],[146,61],[134,61],[171,66],[170,2],[165,65],[167,67],[166,65],[159,65],[160,65],[162,65],[164,65],[168,67],[169,67],[161,67],[163,67],[172,2],[126,2],[173,2],[174,68],[115,69],[124,70],[113,2],[114,71],[125,72],[120,73],[121,74],[119,75],[123,76],[117,77],[116,78],[122,79],[118,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,80],[44,2]],"exportedModulesMap":[[48,1],[46,2],[51,3],[47,1],[49,4],[50,1],[52,2],[108,5],[109,6],[110,2],[111,7],[112,8],[127,9],[128,10],[129,2],[107,2],[53,11],[54,11],[56,12],[57,13],[58,14],[59,15],[60,16],[61,17],[62,18],[63,19],[64,20],[65,21],[66,21],[68,22],[67,23],[69,22],[70,24],[71,25],[55,26],[105,2],[72,27],[73,28],[74,29],[106,30],[75,31],[76,32],[77,33],[78,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,40],[86,41],[87,42],[89,43],[88,44],[90,45],[91,46],[92,47],[93,48],[94,49],[95,50],[96,51],[97,52],[98,53],[99,54],[100,55],[101,56],[102,57],[103,58],[104,59],[130,2],[131,60],[156,61],[157,62],[132,63],[135,63],[154,61],[155,61],[145,61],[144,64],[142,61],[137,61],[150,61],[148,61],[152,61],[136,61],[149,61],[153,61],[138,61],[139,61],[151,61],[133,61],[140,61],[141,61],[143,61],[147,61],[158,65],[146,61],[134,61],[171,66],[170,2],[165,65],[167,67],[166,65],[159,65],[160,65],[162,65],[164,65],[168,67],[169,67],[161,67],[163,67],[172,2],[126,2],[173,2],[174,68],[115,69],[124,70],[113,2],[114,71],[125,72],[120,73],[121,74],[119,75],[123,76],[117,77],[116,78],[122,79],[118,70],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[34,2],[31,2],[32,2],[33,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[1,2],[43,2],[45,81]],"semanticDiagnosticsPerFile":[48,46,51,47,49,50,52,108,109,110,111,112,127,128,129,107,53,54,56,57,58,59,60,61,62,63,64,65,66,68,67,69,70,71,55,105,72,73,74,106,75,76,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,130,131,156,157,132,135,154,155,145,144,142,137,150,148,152,136,149,153,138,139,151,133,140,141,143,147,158,146,134,171,170,165,167,166,159,160,162,164,168,169,161,163,172,126,173,174,115,124,113,114,125,120,121,119,123,117,116,122,118,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,45,44],"latestChangedDtsFile":"./interaction.d.ts"},"version":"4.9.5"}
package/lib/index.d.ts CHANGED
@@ -12,6 +12,7 @@ import type { Options as TimingOptions } from './modules/timing.js';
12
12
  import type { Options as NetworkOptions } from './modules/network.js';
13
13
  import type { StartOptions } from './app/index.js';
14
14
  import type { StartPromiseReturn } from './app/index.js';
15
+ import type { MouseHandlerOptions } from './modules/mouse.js';
15
16
  export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & InputOptions & PerformanceOptions & TimingOptions> & {
16
17
  projectID?: number;
17
18
  projectKey: string;
@@ -19,6 +20,7 @@ export type Options = Partial<AppOptions & ConsoleOptions & ExceptionOptions & I
19
20
  respectDoNotTrack?: boolean;
20
21
  autoResetOnWindowOpen?: boolean;
21
22
  network?: NetworkOptions;
23
+ mouse?: MouseHandlerOptions;
22
24
  __DISABLE_SECURE_MODE?: boolean;
23
25
  };
24
26
  export default class API {
package/lib/index.js CHANGED
@@ -104,7 +104,7 @@ export default class API {
104
104
  Exception(app, options);
105
105
  Img(app);
106
106
  Input(app, options);
107
- Mouse(app);
107
+ Mouse(app, options.mouse);
108
108
  Timing(app, options);
109
109
  Performance(app, options);
110
110
  Scroll(app);
@@ -135,7 +135,7 @@ export default class API {
135
135
  // no-cors issue only with text/plain or not-set Content-Type
136
136
  // req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
137
137
  req.send(JSON.stringify({
138
- trackerVersion: '5.0.2',
138
+ trackerVersion: '5.0.4-beta.1',
139
139
  projectKey: options.projectKey,
140
140
  doNotTrack,
141
141
  // TODO: add precise reason (an exact API missing)
@@ -0,0 +1,53 @@
1
+ import type App from '../app/index.js';
2
+ import type { RequestResponseData, Options } from './network.js';
3
+ interface RawAxiosHeaders {
4
+ [key: string]: string;
5
+ }
6
+ interface AxiosRequestConfig {
7
+ url: string;
8
+ method?: string;
9
+ baseURL?: string;
10
+ status?: number;
11
+ headers: {
12
+ toJSON(): RawAxiosHeaders;
13
+ };
14
+ params?: any;
15
+ data?: any;
16
+ }
17
+ interface InternalAxiosRequestConfig extends AxiosRequestConfig {
18
+ __openreplay_timing: number;
19
+ headers: {
20
+ toJSON(): RawAxiosHeaders;
21
+ set(name: string, value: string): void;
22
+ };
23
+ }
24
+ interface AxiosResponse<T = any> {
25
+ data: T;
26
+ status: number;
27
+ statusText: string;
28
+ headers: {
29
+ toJSON(): RawAxiosHeaders;
30
+ };
31
+ config: InternalAxiosRequestConfig;
32
+ request?: any;
33
+ response?: AxiosRequestConfig;
34
+ }
35
+ export interface AxiosInstance extends Record<string, any> {
36
+ interceptors: {
37
+ request: AxiosInterceptorManager<InternalAxiosRequestConfig>;
38
+ response: AxiosInterceptorManager<AxiosResponse>;
39
+ };
40
+ }
41
+ export interface AxiosInterceptorOptions {
42
+ synchronous?: boolean;
43
+ }
44
+ export interface AxiosInterceptorManager<V> {
45
+ use(onFulfilled?: ((value: V) => V | Promise<V>) | null, onRejected?: ((error: any) => any) | null, options?: AxiosInterceptorOptions): number;
46
+ eject?: (id: number) => void;
47
+ clear?: () => void;
48
+ }
49
+ export default function (app: App, instance: AxiosInstance, opts: Options, sanitize: (data: RequestResponseData) => RequestResponseData | null, stringify: (data: {
50
+ headers: Record<string, string>;
51
+ body: any;
52
+ }) => string): void;
53
+ export {};
@@ -0,0 +1,60 @@
1
+ import { NetworkRequest } from '../app/messages.gen.js';
2
+ import { getTimeOrigin } from '../utils.js';
3
+ export default function (app, instance, opts, sanitize, stringify) {
4
+ function captureResponseData(axiosResponseObj) {
5
+ const { headers: reqHs, data: reqData, method, url } = axiosResponseObj.config;
6
+ const { data: rData, headers: rHs, status: globStatus, response } = axiosResponseObj;
7
+ const { data: resData, headers: resHs, status: resStatus } = response || {};
8
+ const reqResInfo = sanitize({
9
+ url,
10
+ method: method || '',
11
+ status: globStatus || resStatus || 0,
12
+ request: {
13
+ headers: reqHs.toJSON(),
14
+ body: reqData,
15
+ },
16
+ response: {
17
+ headers: (resHs === null || resHs === void 0 ? void 0 : resHs.toJSON()) || rHs.toJSON(),
18
+ body: resData || rData,
19
+ },
20
+ });
21
+ if (!reqResInfo) {
22
+ return;
23
+ }
24
+ const requestStart = axiosResponseObj.config.__openreplay_timing;
25
+ const duration = performance.now() - requestStart;
26
+ app.send(NetworkRequest('xhr', String(method), String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), reqResInfo.status, requestStart + getTimeOrigin(), duration));
27
+ }
28
+ function getStartTime(config) {
29
+ config.__openreplay_timing = performance.now();
30
+ if (opts.sessionTokenHeader) {
31
+ const header = typeof opts.sessionTokenHeader === 'string'
32
+ ? opts.sessionTokenHeader
33
+ : 'X-OpenReplay-Session-Token';
34
+ const headerValue = app.getSessionToken();
35
+ if (headerValue) {
36
+ config.headers.set(header, headerValue);
37
+ }
38
+ }
39
+ return config;
40
+ }
41
+ function captureNetworkRequest(response) {
42
+ if (opts.failuresOnly)
43
+ return response;
44
+ captureResponseData(response);
45
+ return response;
46
+ }
47
+ function captureNetworkError(error) {
48
+ captureResponseData(error);
49
+ return Promise.reject(error);
50
+ }
51
+ const reqInt = instance.interceptors.request.use(getStartTime, null, { synchronous: true });
52
+ const resInt = instance.interceptors.response.use(captureNetworkRequest, captureNetworkError, {
53
+ synchronous: true,
54
+ });
55
+ app.attachStopCallback(() => {
56
+ var _a, _b, _c, _d;
57
+ (_b = (_a = instance.interceptors.request).eject) === null || _b === void 0 ? void 0 : _b.call(_a, reqInt);
58
+ (_d = (_c = instance.interceptors.response).eject) === null || _d === void 0 ? void 0 : _d.call(_c, resInt);
59
+ });
60
+ }
@@ -1,2 +1,24 @@
1
1
  import type App from '../app/index.js';
2
- export default function (app: App): void;
2
+ export interface MouseHandlerOptions {
3
+ disableClickmaps?: boolean;
4
+ /** minimum length of an optimised selector.
5
+ *
6
+ * body > div > div > p => body > p for example
7
+ *
8
+ * default 2
9
+ * */
10
+ minSelectorDepth?: number;
11
+ /** how many selectors to try before falling back to nth-child selectors
12
+ * performance expensive operation
13
+ *
14
+ * default 1000
15
+ * */
16
+ nthThreshold?: number;
17
+ /**
18
+ * how many tries to optimise and shorten the selector
19
+ *
20
+ * default 10_000
21
+ * */
22
+ maxOptimiseTries?: number;
23
+ }
24
+ export default function (app: App, options?: MouseHandlerOptions): void;
@@ -3,13 +3,13 @@ import { normSpaces, hasOpenreplayAttribute, getLabelAttribute } from '../utils.
3
3
  import { MouseMove, MouseClick } from '../app/messages.gen.js';
4
4
  import { getInputLabel } from './input.js';
5
5
  import { finder } from '@medv/finder';
6
- function _getSelector(target, document) {
6
+ function _getSelector(target, document, options) {
7
7
  const selector = finder(target, {
8
8
  root: document.body,
9
9
  seedMinLength: 3,
10
- optimizedMinLength: 2,
11
- threshold: 1000,
12
- maxNumberOfTries: 10000,
10
+ optimizedMinLength: (options === null || options === void 0 ? void 0 : options.minSelectorDepth) || 2,
11
+ threshold: (options === null || options === void 0 ? void 0 : options.nthThreshold) || 1000,
12
+ maxNumberOfTries: (options === null || options === void 0 ? void 0 : options.maxOptimiseTries) || 10000,
13
13
  });
14
14
  return selector;
15
15
  }
@@ -24,7 +24,7 @@ function isClickable(element) {
24
24
  element.onclick != null ||
25
25
  element.getAttribute('role') === 'button');
26
26
  //|| element.className.includes("btn")
27
- // MBTODO: intersept addEventListener
27
+ // MBTODO: intercept addEventListener
28
28
  }
29
29
  //TODO: fix (typescript is not sure about target variable after assignation of svg)
30
30
  function getTarget(target, document) {
@@ -64,7 +64,8 @@ function _getTarget(target, document) {
64
64
  }
65
65
  return target === document.documentElement ? null : target;
66
66
  }
67
- export default function (app) {
67
+ export default function (app, options) {
68
+ const { disableClickmaps = false } = options || {};
68
69
  function getTargetLabel(target) {
69
70
  const dl = getLabelAttribute(target);
70
71
  if (dl !== null) {
@@ -103,8 +104,8 @@ export default function (app) {
103
104
  }
104
105
  };
105
106
  const patchDocument = (document, topframe = false) => {
106
- function getSelector(id, target) {
107
- return (selectorMap[id] = selectorMap[id] || _getSelector(target, document));
107
+ function getSelector(id, target, options) {
108
+ return (selectorMap[id] = selectorMap[id] || _getSelector(target, document, options));
108
109
  }
109
110
  const attachListener = topframe
110
111
  ? app.attachEventListener.bind(app) // attached/removed on start/stop
@@ -130,7 +131,7 @@ export default function (app) {
130
131
  const id = app.nodes.getID(target);
131
132
  if (id !== undefined) {
132
133
  sendMouseMove();
133
- app.send(MouseClick(id, mouseTarget === target ? Math.round(performance.now() - mouseTargetTime) : 0, getTargetLabel(target), isClickable(target) ? getSelector(id, target) : ''), true);
134
+ app.send(MouseClick(id, mouseTarget === target ? Math.round(performance.now() - mouseTargetTime) : 0, getTargetLabel(target), isClickable(target) && !disableClickmaps ? getSelector(id, target, options) : ''), true);
134
135
  }
135
136
  mouseTarget = null;
136
137
  });
@@ -1,4 +1,5 @@
1
1
  import type App from '../app/index.js';
2
+ import type { AxiosInstance } from './axiosSpy.js';
2
3
  type XHRRequestBody = Parameters<XMLHttpRequest['send']>[0];
3
4
  type FetchRequestBody = RequestInit['body'];
4
5
  interface RequestData {
@@ -9,7 +10,7 @@ interface ResponseData {
9
10
  body: any;
10
11
  headers: Record<string, string>;
11
12
  }
12
- interface RequestResponseData {
13
+ export interface RequestResponseData {
13
14
  readonly status: number;
14
15
  readonly method: string;
15
16
  url: string;
@@ -22,6 +23,7 @@ export interface Options {
22
23
  failuresOnly: boolean;
23
24
  ignoreHeaders: Array<string> | boolean;
24
25
  capturePayload: boolean;
26
+ axiosInstances?: Array<AxiosInstance>;
25
27
  sanitizer?: Sanitizer;
26
28
  }
27
29
  export default function (app: App, opts?: Partial<Options>): void;
@@ -1,5 +1,6 @@
1
1
  import { NetworkRequest } from '../app/messages.gen.js';
2
2
  import { getTimeOrigin } from '../utils.js';
3
+ import axiosSpy from './axiosSpy.js';
3
4
  function getXHRRequestDataObject(xhr) {
4
5
  // @ts-ignore this is 3x faster than using Map<XHR, XHRRequestData>
5
6
  if (!xhr.__or_req_data__) {
@@ -18,6 +19,7 @@ export default function (app, opts = {}) {
18
19
  ignoreHeaders: ['Cookie', 'Set-Cookie', 'Authorization'],
19
20
  capturePayload: false,
20
21
  sessionTokenHeader: false,
22
+ axiosInstances: undefined,
21
23
  }, opts);
22
24
  const ignoreHeaders = options.ignoreHeaders;
23
25
  const isHIgnored = Array.isArray(ignoreHeaders)
@@ -139,62 +141,74 @@ export default function (app, opts = {}) {
139
141
  });
140
142
  };
141
143
  /* ====== <> ====== */
142
- /* ====== XHR ====== */
143
- const nativeOpen = XMLHttpRequest.prototype.open;
144
- XMLHttpRequest.prototype.open = function (initMethod, url) {
145
- const xhr = this;
146
- setSessionTokenHeader((name, value) => xhr.setRequestHeader(name, value));
147
- let startTime = 0;
148
- xhr.addEventListener('loadstart', (e) => {
149
- startTime = e.timeStamp;
144
+ /*
145
+ ====== AXIOS ======
146
+ (because it doesn't work with just xhr tracking)
147
+ */
148
+ if (options.axiosInstances) {
149
+ options.axiosInstances.forEach((axiosInstance) => {
150
+ axiosSpy(app, axiosInstance, options, sanitize, stringify);
150
151
  });
151
- xhr.addEventListener('load', app.safe((e) => {
152
- const { headers: reqHs, body: reqBody } = getXHRRequestDataObject(xhr);
153
- const duration = startTime > 0 ? e.timeStamp - startTime : 0;
154
- const hString = ignoreHeaders ? '' : xhr.getAllResponseHeaders(); // might be null (though only if no response received though)
155
- const resHs = hString
156
- ? hString
157
- .split('\r\n')
158
- .map((h) => h.split(':'))
159
- .filter((entry) => !isHIgnored(entry[0]))
160
- .reduce((hds, [name, value]) => (Object.assign(Object.assign({}, hds), { [name]: value })), {})
161
- : {};
162
- const method = strMethod(initMethod);
163
- const reqResInfo = sanitize({
164
- url: String(url),
165
- method,
166
- status: xhr.status,
167
- request: {
168
- headers: reqHs,
169
- body: reqBody,
170
- },
171
- response: {
172
- headers: resHs,
173
- body: xhr.response,
174
- },
152
+ /* ====== <> ====== */
153
+ }
154
+ else {
155
+ /* ====== XHR ====== */
156
+ const nativeOpen = XMLHttpRequest.prototype.open;
157
+ XMLHttpRequest.prototype.open = function (initMethod, url) {
158
+ const xhr = this;
159
+ setSessionTokenHeader((name, value) => xhr.setRequestHeader(name, value));
160
+ let startTime = 0;
161
+ xhr.addEventListener('loadstart', (e) => {
162
+ startTime = e.timeStamp;
175
163
  });
176
- if (!reqResInfo) {
177
- return;
178
- }
179
- app.send(NetworkRequest('xhr', method, String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), xhr.status, startTime + getTimeOrigin(), duration));
180
- }));
181
- //TODO: handle error (though it has no Error API nor any useful information)
182
- //xhr.addEventListener('error', (e) => {})
183
- return nativeOpen.apply(this, arguments);
184
- };
185
- const nativeSend = XMLHttpRequest.prototype.send;
186
- XMLHttpRequest.prototype.send = function (body) {
187
- const rdo = getXHRRequestDataObject(this);
188
- rdo.body = body;
189
- return nativeSend.apply(this, arguments);
190
- };
191
- const nativeSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
192
- XMLHttpRequest.prototype.setRequestHeader = function (name, value) {
193
- if (!isHIgnored(name)) {
164
+ xhr.addEventListener('load', app.safe((e) => {
165
+ const { headers: reqHs, body: reqBody } = getXHRRequestDataObject(xhr);
166
+ const duration = startTime > 0 ? e.timeStamp - startTime : 0;
167
+ const hString = ignoreHeaders ? '' : xhr.getAllResponseHeaders(); // might be null (though only if no response received though)
168
+ const resHs = hString
169
+ ? hString
170
+ .split('\r\n')
171
+ .map((h) => h.split(':'))
172
+ .filter((entry) => !isHIgnored(entry[0]))
173
+ .reduce((hds, [name, value]) => (Object.assign(Object.assign({}, hds), { [name]: value })), {})
174
+ : {};
175
+ const method = strMethod(initMethod);
176
+ const reqResInfo = sanitize({
177
+ url: String(url),
178
+ method,
179
+ status: xhr.status,
180
+ request: {
181
+ headers: reqHs,
182
+ body: reqBody,
183
+ },
184
+ response: {
185
+ headers: resHs,
186
+ body: xhr.response,
187
+ },
188
+ });
189
+ if (!reqResInfo) {
190
+ return;
191
+ }
192
+ app.send(NetworkRequest('xhr', method, String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), xhr.status, startTime + getTimeOrigin(), duration));
193
+ }));
194
+ //TODO: handle error (though it has no Error API nor any useful information)
195
+ //xhr.addEventListener('error', (e) => {})
196
+ return nativeOpen.apply(this, arguments);
197
+ };
198
+ const nativeSend = XMLHttpRequest.prototype.send;
199
+ XMLHttpRequest.prototype.send = function (body) {
194
200
  const rdo = getXHRRequestDataObject(this);
195
- rdo.headers[name] = value;
196
- }
197
- return nativeSetRequestHeader.apply(this, arguments);
198
- };
199
- /* ====== <> ====== */
201
+ rdo.body = body;
202
+ return nativeSend.apply(this, arguments);
203
+ };
204
+ const nativeSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
205
+ XMLHttpRequest.prototype.setRequestHeader = function (name, value) {
206
+ if (!isHIgnored(name)) {
207
+ const rdo = getXHRRequestDataObject(this);
208
+ rdo.headers[name] = value;
209
+ }
210
+ return nativeSetRequestHeader.apply(this, arguments);
211
+ };
212
+ /* ====== <> ====== */
213
+ }
200
214
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openreplay/tracker",
3
3
  "description": "The OpenReplay tracker main package",
4
- "version": "5.0.2",
4
+ "version": "5.0.4-beta.1",
5
5
  "keywords": [
6
6
  "logging",
7
7
  "replay"