@elastic/synthetics 1.0.0-beta.2 → 1.0.0-beta.22

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.
Files changed (122) hide show
  1. package/CHANGELOG.md +235 -0
  2. package/NOTICE.txt +250 -0
  3. package/README.md +2 -1
  4. package/dist/cli.js +87 -56
  5. package/dist/cli.js.map +1 -1
  6. package/dist/common_types.d.ts +116 -14
  7. package/dist/common_types.d.ts.map +1 -1
  8. package/dist/config.d.ts +2 -5
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +5 -5
  11. package/dist/config.js.map +1 -1
  12. package/dist/core/browser-service.js +5 -5
  13. package/dist/core/browser-service.js.map +1 -1
  14. package/dist/core/expect.d.ts +177 -0
  15. package/dist/core/expect.d.ts.map +1 -0
  16. package/dist/core/expect.js +33 -0
  17. package/dist/core/expect.js.map +1 -0
  18. package/dist/core/gatherer.d.ts +4 -7
  19. package/dist/core/gatherer.d.ts.map +1 -1
  20. package/dist/core/gatherer.js +39 -12
  21. package/dist/core/gatherer.js.map +1 -1
  22. package/dist/core/index.d.ts +5 -5
  23. package/dist/core/index.d.ts.map +1 -1
  24. package/dist/core/index.js +2 -2
  25. package/dist/core/index.js.map +1 -1
  26. package/dist/core/logger.d.ts +0 -1
  27. package/dist/core/logger.d.ts.map +1 -1
  28. package/dist/core/logger.js +3 -16
  29. package/dist/core/logger.js.map +1 -1
  30. package/dist/core/runner.d.ts +54 -45
  31. package/dist/core/runner.d.ts.map +1 -1
  32. package/dist/core/runner.js +181 -71
  33. package/dist/core/runner.js.map +1 -1
  34. package/dist/dsl/journey.d.ts +13 -4
  35. package/dist/dsl/journey.d.ts.map +1 -1
  36. package/dist/dsl/journey.js +40 -1
  37. package/dist/dsl/journey.js.map +1 -1
  38. package/dist/formatter/javascript.d.ts +73 -0
  39. package/dist/formatter/javascript.d.ts.map +1 -0
  40. package/dist/formatter/javascript.js +274 -0
  41. package/dist/formatter/javascript.js.map +1 -0
  42. package/dist/helpers.d.ts +33 -12
  43. package/dist/helpers.d.ts.map +1 -1
  44. package/dist/helpers.js +108 -54
  45. package/dist/helpers.js.map +1 -1
  46. package/dist/index.d.ts +8 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +6 -7
  49. package/dist/index.js.map +1 -1
  50. package/dist/parse_args.d.ts +5 -2
  51. package/dist/parse_args.d.ts.map +1 -1
  52. package/dist/parse_args.js +59 -16
  53. package/dist/parse_args.js.map +1 -1
  54. package/dist/plugins/browser-console.d.ts +5 -8
  55. package/dist/plugins/browser-console.d.ts.map +1 -1
  56. package/dist/plugins/browser-console.js +27 -8
  57. package/dist/plugins/browser-console.js.map +1 -1
  58. package/dist/plugins/network.d.ts +23 -20
  59. package/dist/plugins/network.d.ts.map +1 -1
  60. package/dist/plugins/network.js +149 -124
  61. package/dist/plugins/network.js.map +1 -1
  62. package/dist/plugins/performance.d.ts +5 -5
  63. package/dist/plugins/performance.d.ts.map +1 -1
  64. package/dist/plugins/performance.js +5 -5
  65. package/dist/plugins/performance.js.map +1 -1
  66. package/dist/plugins/plugin-manager.d.ts +11 -11
  67. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  68. package/dist/plugins/plugin-manager.js +40 -24
  69. package/dist/plugins/plugin-manager.js.map +1 -1
  70. package/dist/plugins/tracing.d.ts +10 -25
  71. package/dist/plugins/tracing.d.ts.map +1 -1
  72. package/dist/plugins/tracing.js +40 -26
  73. package/dist/plugins/tracing.js.map +1 -1
  74. package/dist/reporters/base.d.ts +0 -1
  75. package/dist/reporters/base.d.ts.map +1 -1
  76. package/dist/reporters/base.js +34 -32
  77. package/dist/reporters/base.js.map +1 -1
  78. package/dist/reporters/json.d.ts +46 -59
  79. package/dist/reporters/json.d.ts.map +1 -1
  80. package/dist/reporters/json.js +188 -70
  81. package/dist/reporters/json.js.map +1 -1
  82. package/dist/reporters/junit.d.ts.map +1 -1
  83. package/dist/reporters/junit.js +7 -7
  84. package/dist/reporters/junit.js.map +1 -1
  85. package/dist/sdk/lh-trace-processor.d.ts +304 -0
  86. package/dist/sdk/lh-trace-processor.d.ts.map +1 -0
  87. package/dist/sdk/lh-trace-processor.js +832 -0
  88. package/dist/sdk/lh-trace-processor.js.map +1 -0
  89. package/dist/sdk/trace-metrics.d.ts +61 -0
  90. package/dist/sdk/trace-metrics.d.ts.map +1 -0
  91. package/dist/sdk/trace-metrics.js +252 -0
  92. package/dist/sdk/trace-metrics.js.map +1 -0
  93. package/dist/sdk/trace-processor.d.ts +106 -0
  94. package/dist/sdk/trace-processor.d.ts.map +1 -0
  95. package/dist/sdk/trace-processor.js +74 -0
  96. package/dist/sdk/trace-processor.js.map +1 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -1575
  98. package/package.json +27 -16
  99. package/src/cli.ts +68 -45
  100. package/src/common_types.ts +138 -14
  101. package/src/config.ts +2 -5
  102. package/src/core/expect.ts +187 -0
  103. package/src/core/gatherer.ts +48 -24
  104. package/src/core/index.ts +6 -6
  105. package/src/core/logger.ts +1 -12
  106. package/src/core/runner.ts +259 -112
  107. package/src/dsl/journey.ts +28 -6
  108. package/src/formatter/javascript.ts +330 -0
  109. package/src/helpers.ts +114 -24
  110. package/src/index.ts +7 -6
  111. package/src/parse_args.ts +97 -22
  112. package/src/plugins/browser-console.ts +30 -13
  113. package/src/plugins/network.ts +175 -159
  114. package/src/plugins/performance.ts +7 -7
  115. package/src/plugins/plugin-manager.ts +47 -36
  116. package/src/plugins/tracing.ts +43 -54
  117. package/src/reporters/base.ts +29 -23
  118. package/src/reporters/json.ts +259 -80
  119. package/src/reporters/junit.ts +1 -1
  120. package/src/sdk/lh-trace-processor.ts +1033 -0
  121. package/src/sdk/trace-metrics.ts +287 -0
  122. package/src/sdk/trace-processor.ts +147 -0
@@ -27,7 +27,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.formatNetworkFields = void 0;
30
+ exports.gatherScreenshots = exports.getScreenshotBlocks = exports.formatNetworkFields = void 0;
31
+ const fs_1 = require("fs");
32
+ const path_1 = require("path");
33
+ const sharp_1 = __importDefault(require("sharp"));
34
+ const crypto_1 = require("crypto");
31
35
  const base_1 = __importDefault(require("./base"));
32
36
  const helpers_1 = require("../helpers");
33
37
  const snakecase_keys_1 = __importDefault(require("snakecase-keys"));
@@ -61,38 +65,12 @@ function formatVersion(protocol) {
61
65
  return 3;
62
66
  }
63
67
  }
64
- function formatRequest(request) {
65
- var _a;
66
- const postData = request.postData ? request.postData : '';
67
- return {
68
- ...request,
69
- body: {
70
- bytes: postData.length,
71
- content: postData,
72
- },
73
- referrer: (_a = request.headers) === null || _a === void 0 ? void 0 : _a.Referer,
74
- };
75
- }
76
- function formatResponse(response) {
77
- if (!response) {
78
- return;
79
- }
80
- return {
81
- ...response,
82
- body: {
83
- bytes: response.encodedDataLength,
84
- },
85
- status_code: response.status,
86
- };
87
- }
88
68
  function formatTLS(tls) {
89
69
  if (!tls) {
90
70
  return;
91
71
  }
92
- const cipher = `${tls.keyExchange ? tls.keyExchange + '_' : ''}${tls.cipher}_${tls.keyExchangeGroup}`;
93
72
  const [name, version] = tls.protocol.toLowerCase().split(' ');
94
73
  return {
95
- cipher,
96
74
  server: {
97
75
  x509: {
98
76
  issuer: {
@@ -106,7 +84,7 @@ function formatTLS(tls) {
106
84
  },
107
85
  },
108
86
  version_protocol: name,
109
- version: version,
87
+ version,
110
88
  };
111
89
  }
112
90
  function formatNetworkFields(network) {
@@ -122,15 +100,13 @@ function formatNetworkFields(network) {
122
100
  },
123
101
  http: {
124
102
  version: formatVersion(response === null || response === void 0 ? void 0 : response.protocol),
125
- request: formatRequest(request),
126
- response: formatResponse(response),
103
+ request,
104
+ response,
127
105
  },
128
106
  tls: formatTLS(response === null || response === void 0 ? void 0 : response.securityDetails),
129
107
  };
130
108
  const pickItems = [
131
109
  'browser',
132
- 'status',
133
- 'method',
134
110
  'type',
135
111
  'isNavigationRequest',
136
112
  'requestSentTime',
@@ -154,6 +130,7 @@ function journeyInfo(journey, type, status) {
154
130
  return {
155
131
  name: journey.name,
156
132
  id: journey.id,
133
+ tags: journey.tags,
157
134
  status: type === 'journey/end' ? status : undefined,
158
135
  };
159
136
  }
@@ -165,20 +142,97 @@ function stepInfo(step, type, status) {
165
142
  name: step.name,
166
143
  index: step.index,
167
144
  status: type === 'step/end' ? status : undefined,
145
+ duration: step.duration,
146
+ };
147
+ }
148
+ async function getScreenshotBlocks(screenshot) {
149
+ const img = (0, sharp_1.default)(screenshot, { sequentialRead: true });
150
+ const { width, height } = await img.metadata();
151
+ /**
152
+ * Chop the screenshot image (1280*720) which is the default
153
+ * viewport size in to 64 equal blocks for a given image
154
+ * which can be acheived by keeping the division to 8
155
+ *
156
+ * Changing division to 16 would yield us 256 smaller blocks, but it is not
157
+ * optimal for caching in the ES and proved out to be bad, so we stick to 8
158
+ */
159
+ const divisions = 8;
160
+ const blockWidth = Math.floor(width / divisions);
161
+ const blockHeight = Math.floor(height / divisions);
162
+ const reference = {
163
+ width,
164
+ height,
165
+ blocks: [],
168
166
  };
167
+ const blocks = [];
168
+ for (let row = 0; row < divisions; row++) {
169
+ const top = row * blockHeight;
170
+ for (let col = 0; col < divisions; col++) {
171
+ const left = col * blockWidth;
172
+ const buf = await img
173
+ .extract({ top, left, width: blockWidth, height: blockHeight })
174
+ .jpeg()
175
+ .toBuffer();
176
+ const hash = (0, crypto_1.createHash)('sha1').update(buf).digest('hex');
177
+ blocks.push({
178
+ blob: buf.toString('base64'),
179
+ id: hash,
180
+ });
181
+ /**
182
+ * We dont write the width, height of individual blocks on the
183
+ * reference as we use similar sized blocks for each extraction,
184
+ * we would need to send the width and height here if we decide to
185
+ * go with dynamic block extraction.
186
+ */
187
+ reference.blocks.push({
188
+ hash,
189
+ top,
190
+ left,
191
+ width: blockWidth,
192
+ height: blockHeight,
193
+ });
194
+ }
195
+ }
196
+ return { blocks, reference, blob_mime: 'image/jpeg' };
169
197
  }
198
+ exports.getScreenshotBlocks = getScreenshotBlocks;
199
+ /**
200
+ * Get all the screenshots from the cached screenshot location
201
+ * at the end of each journey and construct equally sized blocks out
202
+ * of the individual screenshot image.
203
+ */
204
+ async function gatherScreenshots(screenshotsPath, callback) {
205
+ if ((0, helpers_1.isDirectory)(screenshotsPath)) {
206
+ await (0, helpers_1.totalist)(screenshotsPath, async (_, absPath) => {
207
+ try {
208
+ const content = (0, fs_1.readFileSync)(absPath, 'utf8');
209
+ const screenshot = JSON.parse(content);
210
+ await callback(screenshot);
211
+ }
212
+ catch (_) {
213
+ // TODO: capture progarammatic synthetic errors under different type
214
+ }
215
+ });
216
+ }
217
+ }
218
+ exports.gatherScreenshots = gatherScreenshots;
170
219
  class JSONReporter extends base_1.default {
171
220
  _registerListeners() {
172
221
  /**
173
222
  * report the number of journeys that exists on a suite which
174
223
  * could be used for better sharding
175
224
  */
176
- this.runner.on('start', ({ numJourneys }) => {
225
+ this.runner.on('start', ({ numJourneys, networkConditions }) => {
177
226
  this.writeJSON({
178
227
  type: 'synthetics/metadata',
179
228
  root_fields: {
180
229
  num_journeys: numJourneys,
181
230
  },
231
+ payload: networkConditions
232
+ ? {
233
+ network_conditions: networkConditions,
234
+ }
235
+ : undefined,
182
236
  });
183
237
  });
184
238
  this.runner.on('journey:register', ({ journey }) => {
@@ -195,33 +249,69 @@ class JSONReporter extends base_1.default {
195
249
  payload: { params, source: journey.callback.toString() },
196
250
  });
197
251
  });
198
- this.runner.on('step:end', ({ journey, step, start, end, error, screenshot, url, status, metrics, }) => {
199
- if (screenshot) {
200
- this.writeJSON({
201
- type: 'step/screenshot',
202
- journey,
203
- step,
204
- blob: screenshot,
205
- blob_mime: 'image/jpeg',
252
+ this.runner.on('step:end', ({ journey, step, start, end, error, url, status, pagemetrics, traces, metrics, filmstrips, }) => {
253
+ this.writeMetrics(journey, step, 'relative_trace', traces);
254
+ this.writeMetrics(journey, step, 'experience', metrics);
255
+ if (filmstrips) {
256
+ // Write each filmstrip separately so that we don't get documents that are too large
257
+ filmstrips.forEach((strip, index) => {
258
+ this.writeJSON({
259
+ type: 'step/filmstrips',
260
+ journey,
261
+ step,
262
+ payload: { index },
263
+ root_fields: {
264
+ browser: { relative_trace: { start: strip.start } },
265
+ },
266
+ blob: strip.blob,
267
+ blob_mime: strip.mime,
268
+ });
206
269
  });
207
270
  }
208
271
  this.writeJSON({
209
272
  type: 'step/end',
210
273
  journey,
211
- step,
274
+ step: {
275
+ ...step,
276
+ duration: {
277
+ us: (0, helpers_1.getDurationInUs)(end - start),
278
+ },
279
+ },
212
280
  url,
213
281
  error,
214
282
  payload: {
215
283
  source: step.callback.toString(),
216
- start,
217
- end,
218
284
  url,
219
285
  status,
220
- metrics,
286
+ pagemetrics,
221
287
  },
222
288
  });
223
289
  });
224
- this.runner.on('journey:end', ({ journey, start, end, filmstrips, networkinfo, browserconsole, status, error, }) => {
290
+ this.runner.on('journey:end', async ({ journey, timestamp, start, end, networkinfo, browserconsole, status, error, options, }) => {
291
+ const { ssblocks, screenshots } = options;
292
+ const writeScreenshots = screenshots === 'on' ||
293
+ (screenshots === 'only-on-failure' && status === 'failed');
294
+ if (writeScreenshots) {
295
+ await gatherScreenshots((0, path_1.join)(helpers_1.CACHE_PATH, 'screenshots'), async (screenshot) => {
296
+ const { data, timestamp, step } = screenshot;
297
+ if (!data) {
298
+ return;
299
+ }
300
+ if (ssblocks) {
301
+ await this.writeScreenshotBlocks(journey, screenshot);
302
+ }
303
+ else {
304
+ this.writeJSON({
305
+ type: 'step/screenshot',
306
+ timestamp,
307
+ journey,
308
+ step,
309
+ blob: data,
310
+ blob_mime: 'image/jpeg',
311
+ });
312
+ }
313
+ });
314
+ }
225
315
  if (networkinfo) {
226
316
  networkinfo.forEach(ni => {
227
317
  const { ecs, payload } = formatNetworkFields(ni);
@@ -229,43 +319,31 @@ class JSONReporter extends base_1.default {
229
319
  type: 'journey/network_info',
230
320
  journey,
231
321
  timestamp: ni.timestamp,
232
- root_fields: snakecase_keys_1.default(ecs),
322
+ root_fields: (0, snakecase_keys_1.default)(ecs),
233
323
  step: ni.step,
234
- payload: snakecase_keys_1.default(payload),
235
- });
236
- });
237
- }
238
- if (filmstrips) {
239
- // Write each filmstrip separately so that we don't get documents that are too large
240
- filmstrips.forEach((strip, index) => {
241
- this.writeJSON({
242
- type: 'journey/filmstrips',
243
- journey,
244
- payload: {
245
- index,
246
- ...{
247
- startTime: strip.startTime,
248
- ts: strip.ts,
249
- },
250
- },
251
- blob: strip.snapshot,
324
+ payload: (0, snakecase_keys_1.default)(payload),
252
325
  });
253
326
  });
254
327
  }
255
328
  if (browserconsole) {
256
- browserconsole.forEach(({ timestamp, text, type, step }) => {
329
+ browserconsole.forEach(({ timestamp, text, type, step, error }) => {
257
330
  this.writeJSON({
258
331
  type: 'journey/browserconsole',
259
332
  journey,
260
333
  timestamp,
261
334
  step,
262
- payload: { text, type },
335
+ error,
336
+ payload: {
337
+ text,
338
+ type,
339
+ },
263
340
  });
264
341
  });
265
342
  }
266
343
  this.writeJSON({
267
344
  type: 'journey/end',
268
345
  journey,
346
+ timestamp,
269
347
  error,
270
348
  payload: {
271
349
  start,
@@ -273,6 +351,45 @@ class JSONReporter extends base_1.default {
273
351
  status,
274
352
  },
275
353
  });
354
+ process.nextTick(() => this.runner.emit('journey:end:reported', {}));
355
+ });
356
+ }
357
+ async writeScreenshotBlocks(journey, screenshot) {
358
+ const { blob_mime, blocks, reference } = await getScreenshotBlocks(Buffer.from(screenshot.data, 'base64'));
359
+ for (let i = 0; i < blocks.length; i++) {
360
+ const block = blocks[i];
361
+ this.writeJSON({
362
+ type: 'screenshot/block',
363
+ timestamp: screenshot.timestamp,
364
+ _id: block.id,
365
+ blob: block.blob,
366
+ blob_mime,
367
+ });
368
+ }
369
+ this.writeJSON({
370
+ type: 'step/screenshot_ref',
371
+ timestamp: screenshot.timestamp,
372
+ journey,
373
+ step: screenshot.step,
374
+ root_fields: {
375
+ screenshot_ref: reference,
376
+ },
377
+ });
378
+ }
379
+ writeMetrics(journey, step, type, events) {
380
+ const metrics = Array.isArray(events) ? events : [events];
381
+ metrics.forEach(event => {
382
+ event &&
383
+ this.writeJSON({
384
+ type: 'step/metrics',
385
+ journey,
386
+ step,
387
+ root_fields: {
388
+ browser: {
389
+ [type]: event,
390
+ },
391
+ },
392
+ });
276
393
  });
277
394
  }
278
395
  // Writes a structured synthetics event
@@ -280,17 +397,18 @@ class JSONReporter extends base_1.default {
280
397
  // it before passing it into this function!
281
398
  // The payload field is an un-indexed field with no ES mapping, so users can put arbitary structured
282
399
  // stuff in there
283
- writeJSON({ journey, type, timestamp, step, root_fields, error, payload, blob, blob_mime, url, }) {
400
+ writeJSON({ _id, journey, type, timestamp, step, root_fields, error, payload, blob, blob_mime, url, }) {
284
401
  this.write({
285
402
  type,
286
- '@timestamp': timestamp || helpers_1.getTimestamp(),
403
+ _id,
404
+ '@timestamp': timestamp || (0, helpers_1.getTimestamp)(),
287
405
  journey: journeyInfo(journey, type, payload === null || payload === void 0 ? void 0 : payload.status),
288
406
  step: stepInfo(step, type, payload === null || payload === void 0 ? void 0 : payload.status),
289
407
  root_fields: { ...(root_fields || {}), ...getMetadata() },
290
408
  payload,
291
409
  blob,
292
410
  blob_mime,
293
- error: helpers_1.formatError(error),
411
+ error: (0, helpers_1.formatError)(error),
294
412
  url,
295
413
  package_version: version,
296
414
  });
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/reporters/json.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"junit.d.ts","sourceRoot":"","sources":["../../src/reporters/junit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAkBlC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAK;IAEzB,kBAAkB;CAkGnB"}
1
+ {"version":3,"file":"junit.d.ts","sourceRoot":"","sources":["../../src/reporters/junit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAkBlC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAK;IAEhB,kBAAkB;CAkG5B"}
@@ -75,7 +75,7 @@ class JUnitReporter extends base_1.default {
75
75
  };
76
76
  entry.attributes.tests++;
77
77
  if (status === 'failed') {
78
- const { name, message, stack } = helpers_1.formatError(error);
78
+ const { name, message, stack } = (0, helpers_1.formatError)(error);
79
79
  caseEntry.children.push({
80
80
  name: 'failure',
81
81
  attributes: {
@@ -115,7 +115,7 @@ class JUnitReporter extends base_1.default {
115
115
  failures: this.totalFailures,
116
116
  skipped: this.totalSkipped,
117
117
  errors: 0,
118
- time: parseInt(String(helpers_1.now())) / 1000,
118
+ time: parseInt(String((0, helpers_1.now)())) / 1000,
119
119
  },
120
120
  children: [...journeyMap.values()],
121
121
  };
@@ -125,8 +125,8 @@ class JUnitReporter extends base_1.default {
125
125
  */
126
126
  const fileName = process.env['SYNTHETICS_JUNIT_FILE'];
127
127
  if (fileName) {
128
- fs_1.mkdirSync(path_1.dirname(fileName), { recursive: true });
129
- fs_1.writeFileSync(fileName, output);
128
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(fileName), { recursive: true });
129
+ (0, fs_1.writeFileSync)(fileName, output);
130
130
  }
131
131
  else {
132
132
  this.write(output);
@@ -143,15 +143,15 @@ function escape(text) {
143
143
  .replace(/>/g, '&gt;');
144
144
  }
145
145
  function serializeEntries(entry, tokens = [], space = '') {
146
- tokens.push(helpers_1.indent(`<${entry.name} ${Object.entries(entry.attributes || {})
146
+ tokens.push((0, helpers_1.indent)(`<${entry.name} ${Object.entries(entry.attributes || {})
147
147
  .map(([key, value]) => `${key}="${escape(String(value))}"`)
148
148
  .join(' ')}>`, space));
149
149
  for (const child of entry.children || []) {
150
150
  serializeEntries(child, tokens, space + ' ');
151
151
  }
152
152
  if (entry.text)
153
- tokens.push(helpers_1.indent(escape(entry.text), space));
154
- tokens.push(helpers_1.indent(`</${entry.name}>`, space));
153
+ tokens.push((0, helpers_1.indent)(escape(entry.text), space));
154
+ tokens.push((0, helpers_1.indent)(`</${entry.name}>`, space));
155
155
  return tokens;
156
156
  }
157
157
  //# sourceMappingURL=junit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"junit.js","sourceRoot":"","sources":["../../src/reporters/junit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"junit.js","sourceRoot":"","sources":["../../src/reporters/junit.ts"],"names":[],"mappings":"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"}