@elastic/synthetics 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/README.md +5 -4
  2. package/dist/cli.js +139 -165
  3. package/dist/cli.js.map +1 -1
  4. package/dist/common_types.d.ts +158 -34
  5. package/dist/common_types.d.ts.map +1 -1
  6. package/dist/config.d.ts +1 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +7 -6
  9. package/dist/config.js.map +1 -1
  10. package/dist/core/browser-service.d.ts +1 -1
  11. package/dist/core/browser-service.d.ts.map +1 -1
  12. package/dist/core/browser-service.js +7 -6
  13. package/dist/core/browser-service.js.map +1 -1
  14. package/dist/core/expect.d.ts +25 -25
  15. package/dist/core/expect.d.ts.map +1 -1
  16. package/dist/core/expect.js.map +1 -1
  17. package/dist/core/gatherer.d.ts +5 -8
  18. package/dist/core/gatherer.d.ts.map +1 -1
  19. package/dist/core/gatherer.js +75 -17
  20. package/dist/core/gatherer.js.map +1 -1
  21. package/dist/core/index.d.ts +5 -1
  22. package/dist/core/index.d.ts.map +1 -1
  23. package/dist/core/index.js +23 -11
  24. package/dist/core/index.js.map +1 -1
  25. package/dist/core/logger.d.ts +0 -1
  26. package/dist/core/logger.d.ts.map +1 -1
  27. package/dist/core/logger.js +10 -17
  28. package/dist/core/logger.js.map +1 -1
  29. package/dist/core/runner.d.ts +12 -63
  30. package/dist/core/runner.d.ts.map +1 -1
  31. package/dist/core/runner.js +159 -92
  32. package/dist/core/runner.js.map +1 -1
  33. package/dist/core/transform.d.ts +37 -0
  34. package/dist/core/transform.d.ts.map +1 -0
  35. package/dist/core/transform.js +148 -0
  36. package/dist/core/transform.js.map +1 -0
  37. package/dist/dsl/index.js +5 -1
  38. package/dist/dsl/index.js.map +1 -1
  39. package/dist/dsl/journey.d.ts +9 -7
  40. package/dist/dsl/journey.d.ts.map +1 -1
  41. package/dist/dsl/journey.js +31 -38
  42. package/dist/dsl/journey.js.map +1 -1
  43. package/dist/dsl/monitor.d.ts +93 -0
  44. package/dist/dsl/monitor.d.ts.map +1 -0
  45. package/dist/dsl/monitor.js +110 -0
  46. package/dist/dsl/monitor.js.map +1 -0
  47. package/dist/dsl/step.d.ts +3 -2
  48. package/dist/dsl/step.d.ts.map +1 -1
  49. package/dist/dsl/step.js +6 -1
  50. package/dist/dsl/step.js.map +1 -1
  51. package/dist/formatter/javascript.d.ts +115 -0
  52. package/dist/formatter/javascript.d.ts.map +1 -0
  53. package/dist/formatter/javascript.js +331 -0
  54. package/dist/formatter/javascript.js.map +1 -0
  55. package/dist/generator/index.d.ts +24 -0
  56. package/dist/generator/index.d.ts.map +1 -0
  57. package/dist/generator/index.js +241 -0
  58. package/dist/generator/index.js.map +1 -0
  59. package/dist/{reporters/reporter.js → generator/utils.d.ts} +5 -3
  60. package/dist/generator/utils.d.ts.map +1 -0
  61. package/dist/generator/utils.js +84 -0
  62. package/dist/generator/utils.js.map +1 -0
  63. package/dist/helpers.d.ts +36 -9
  64. package/dist/helpers.d.ts.map +1 -1
  65. package/dist/helpers.js +170 -24
  66. package/dist/helpers.js.map +1 -1
  67. package/dist/index.d.ts +5 -7
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +5 -26
  70. package/dist/index.js.map +1 -1
  71. package/dist/loader.d.ts +34 -0
  72. package/dist/loader.d.ts.map +1 -0
  73. package/dist/loader.js +153 -0
  74. package/dist/loader.js.map +1 -0
  75. package/dist/locations/index.d.ts +45 -0
  76. package/dist/locations/index.d.ts.map +1 -0
  77. package/dist/locations/index.js +83 -0
  78. package/dist/locations/index.js.map +1 -0
  79. package/dist/{reporters/reporter.d.ts → locations/public-locations.d.ts} +12 -8
  80. package/dist/locations/public-locations.d.ts.map +1 -0
  81. package/dist/locations/public-locations.js +41 -0
  82. package/dist/locations/public-locations.js.map +1 -0
  83. package/dist/options.d.ts +42 -0
  84. package/dist/options.d.ts.map +1 -0
  85. package/dist/options.js +146 -0
  86. package/dist/options.js.map +1 -0
  87. package/dist/plugins/browser-console.d.ts +5 -4
  88. package/dist/plugins/browser-console.d.ts.map +1 -1
  89. package/dist/plugins/browser-console.js +47 -24
  90. package/dist/plugins/browser-console.js.map +1 -1
  91. package/dist/plugins/index.js +5 -1
  92. package/dist/plugins/index.js.map +1 -1
  93. package/dist/plugins/network.d.ts +24 -31
  94. package/dist/plugins/network.d.ts.map +1 -1
  95. package/dist/plugins/network.js +226 -229
  96. package/dist/plugins/network.js.map +1 -1
  97. package/dist/plugins/performance.d.ts +4 -19
  98. package/dist/plugins/performance.d.ts.map +1 -1
  99. package/dist/plugins/performance.js +6 -5
  100. package/dist/plugins/performance.js.map +1 -1
  101. package/dist/plugins/plugin-manager.d.ts +9 -5
  102. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  103. package/dist/plugins/plugin-manager.js +46 -30
  104. package/dist/plugins/plugin-manager.js.map +1 -1
  105. package/dist/plugins/tracing.d.ts +6 -6
  106. package/dist/plugins/tracing.d.ts.map +1 -1
  107. package/dist/plugins/tracing.js +13 -7
  108. package/dist/plugins/tracing.js.map +1 -1
  109. package/dist/push/bundler.d.ts +35 -0
  110. package/dist/push/bundler.d.ts.map +1 -0
  111. package/dist/push/bundler.js +131 -0
  112. package/dist/push/bundler.js.map +1 -0
  113. package/dist/push/index.d.ts +10 -0
  114. package/dist/push/index.d.ts.map +1 -0
  115. package/dist/push/index.js +235 -0
  116. package/dist/push/index.js.map +1 -0
  117. package/dist/push/kibana_api.d.ts +56 -0
  118. package/dist/push/kibana_api.d.ts.map +1 -0
  119. package/dist/push/kibana_api.js +135 -0
  120. package/dist/push/kibana_api.js.map +1 -0
  121. package/dist/push/monitor.d.ts +55 -0
  122. package/dist/push/monitor.d.ts.map +1 -0
  123. package/dist/push/monitor.js +268 -0
  124. package/dist/push/monitor.js.map +1 -0
  125. package/dist/{parse_args.d.ts → push/plugin.d.ts} +9 -6
  126. package/dist/push/plugin.d.ts.map +1 -0
  127. package/dist/push/plugin.js +66 -0
  128. package/dist/push/plugin.js.map +1 -0
  129. package/dist/push/request.d.ts +45 -0
  130. package/dist/push/request.d.ts.map +1 -0
  131. package/dist/push/request.js +109 -0
  132. package/dist/push/request.js.map +1 -0
  133. package/dist/push/utils.d.ts +31 -0
  134. package/dist/push/utils.d.ts.map +1 -0
  135. package/dist/push/utils.js +64 -0
  136. package/dist/push/utils.js.map +1 -0
  137. package/dist/reporters/base.d.ts +14 -6
  138. package/dist/reporters/base.d.ts.map +1 -1
  139. package/dist/reporters/base.js +58 -50
  140. package/dist/reporters/base.js.map +1 -1
  141. package/dist/reporters/index.d.ts +18 -8
  142. package/dist/reporters/index.d.ts.map +1 -1
  143. package/dist/reporters/index.js.map +1 -1
  144. package/dist/reporters/json.d.ts +17 -62
  145. package/dist/reporters/json.d.ts.map +1 -1
  146. package/dist/reporters/json.js +147 -177
  147. package/dist/reporters/json.js.map +1 -1
  148. package/dist/reporters/junit.d.ts +7 -1
  149. package/dist/reporters/junit.d.ts.map +1 -1
  150. package/dist/reporters/junit.js +90 -95
  151. package/dist/reporters/junit.js.map +1 -1
  152. package/dist/sdk/lh-trace-processor.d.ts +35 -9
  153. package/dist/sdk/lh-trace-processor.d.ts.map +1 -1
  154. package/dist/sdk/lh-trace-processor.js +114 -53
  155. package/dist/sdk/lh-trace-processor.js.map +1 -1
  156. package/dist/sdk/trace-metrics.d.ts +4 -4
  157. package/dist/sdk/trace-metrics.d.ts.map +1 -1
  158. package/dist/sdk/trace-metrics.js +3 -4
  159. package/dist/sdk/trace-metrics.js.map +1 -1
  160. package/dist/sdk/trace-processor.d.ts +11 -3
  161. package/dist/sdk/trace-processor.d.ts.map +1 -1
  162. package/dist/sdk/trace-processor.js +17 -9
  163. package/dist/sdk/trace-processor.js.map +1 -1
  164. package/package.json +38 -29
  165. package/src/cli.ts +223 -158
  166. package/src/common_types.ts +191 -34
  167. package/src/config.ts +1 -1
  168. package/src/core/expect.ts +58 -24
  169. package/src/core/gatherer.ts +92 -25
  170. package/src/core/index.ts +36 -15
  171. package/src/core/logger.ts +8 -12
  172. package/src/core/runner.ts +158 -148
  173. package/src/core/transform.ts +160 -0
  174. package/src/dsl/journey.ts +40 -20
  175. package/src/dsl/monitor.ts +152 -0
  176. package/src/dsl/step.ts +9 -2
  177. package/src/formatter/javascript.ts +414 -0
  178. package/src/generator/index.ts +308 -0
  179. package/src/generator/utils.ts +84 -0
  180. package/src/helpers.ts +182 -16
  181. package/src/index.ts +21 -22
  182. package/src/loader.ts +171 -0
  183. package/src/locations/index.ts +95 -0
  184. package/src/{reporters/reporter.ts → locations/public-locations.ts} +12 -9
  185. package/src/options.ts +175 -0
  186. package/src/plugins/browser-console.ts +33 -8
  187. package/src/plugins/network.ts +266 -284
  188. package/src/plugins/performance.ts +6 -22
  189. package/src/plugins/plugin-manager.ts +49 -31
  190. package/src/plugins/tracing.ts +11 -9
  191. package/src/push/bundler.ts +112 -0
  192. package/src/push/index.ts +291 -0
  193. package/src/push/kibana_api.ts +191 -0
  194. package/src/push/monitor.ts +307 -0
  195. package/src/push/plugin.ts +66 -0
  196. package/src/push/request.ts +141 -0
  197. package/src/push/utils.ts +77 -0
  198. package/src/reporters/base.ts +63 -52
  199. package/src/reporters/index.ts +26 -3
  200. package/src/reporters/json.ts +181 -201
  201. package/src/reporters/junit.ts +98 -93
  202. package/src/sdk/lh-trace-processor.ts +132 -68
  203. package/src/sdk/trace-metrics.ts +8 -4
  204. package/src/sdk/trace-processor.ts +28 -13
  205. package/templates/.github/workflows/run-synthetics.yml +27 -0
  206. package/templates/README.md +21 -0
  207. package/templates/journeys/advanced-example-helpers.ts +54 -0
  208. package/templates/journeys/advanced-example.journey.ts +43 -0
  209. package/templates/journeys/example.journey.ts +18 -0
  210. package/templates/lightweight/heartbeat.yml +9 -0
  211. package/templates/synthetics.config.ts +35 -0
  212. package/CHANGELOG.md +0 -187
  213. package/NOTICE.txt +0 -221
  214. package/dist/parse_args.d.ts.map +0 -1
  215. package/dist/parse_args.js +0 -98
  216. package/dist/parse_args.js.map +0 -1
  217. package/dist/reporters/reporter.d.ts.map +0 -1
  218. package/dist/reporters/reporter.js.map +0 -1
  219. package/dist/tsconfig.tsbuildinfo +0 -1895
  220. package/src/parse_args.ts +0 -146
package/dist/helpers.js CHANGED
@@ -27,19 +27,15 @@ 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.getDurationInUs = exports.CACHE_PATH = exports.formatError = exports.rewriteErrorStack = exports.rewriteErrorMessage = exports.findPWLogsIndexes = exports.totalist = exports.findPkgJsonByTraversing = exports.isFile = exports.isDirectory = exports.isDepInstalled = exports.runParallel = exports.now = exports.getTimestamp = exports.microSecsToSeconds = exports.monotonicTimeInSeconds = exports.generateTempPath = exports.generateUniqueId = exports.symbols = exports.indent = exports.noop = exports.mkdirAsync = exports.rmdirAsync = exports.writeFileAsync = exports.readFileAsync = void 0;
30
+ exports.tagsMatch = exports.isMatch = exports.getMonitorManagementURL = exports.removeTrailingSlash = exports.warn = exports.done = exports.error = exports.apiProgress = exports.liveProgress = exports.progress = exports.write = exports.safeNDJSONParse = exports.wrapFnWithLocation = exports.THROTTLING_WARNING_MSG = exports.getNetworkConditions = exports.DEFAULT_THROTTLING_OPTIONS = exports.megabitsToBytes = exports.getDurationInUs = exports.CACHE_PATH = exports.SYNTHETICS_PATH = exports.formatError = exports.rewriteErrorStack = exports.rewriteErrorMessage = exports.findPWLogsIndexes = exports.totalist = exports.findPkgJsonByTraversing = exports.isFile = exports.isDirectory = exports.isDepInstalled = exports.runParallel = exports.now = exports.getTimestamp = exports.microSecsToSeconds = exports.monotonicTimeInSeconds = exports.generateTempPath = exports.generateUniqueId = exports.symbols = exports.indent = exports.noop = void 0;
31
31
  const colors_1 = require("kleur/colors");
32
32
  const os_1 = __importDefault(require("os"));
33
33
  const path_1 = require("path");
34
34
  const fs_1 = __importDefault(require("fs"));
35
- const util_1 = require("util");
35
+ const promises_1 = require("fs/promises");
36
36
  const perf_hooks_1 = require("perf_hooks");
37
- const lstatAsync = util_1.promisify(fs_1.default.lstat);
38
- const readdirAsync = util_1.promisify(fs_1.default.readdir);
39
- exports.readFileAsync = util_1.promisify(fs_1.default.readFile);
40
- exports.writeFileAsync = util_1.promisify(fs_1.default.writeFile);
41
- exports.rmdirAsync = util_1.promisify(fs_1.default.rmdir);
42
- exports.mkdirAsync = util_1.promisify(fs_1.default.mkdir);
37
+ const source_map_support_1 = __importDefault(require("source-map-support"));
38
+ const micromatch_1 = __importDefault(require("micromatch"));
43
39
  const SEPARATOR = '\n';
44
40
  function noop() { }
45
41
  exports.noop = noop;
@@ -53,17 +49,18 @@ exports.indent = indent;
53
49
  */
54
50
  const NO_UTF8_SUPPORT = process.platform === 'win32';
55
51
  exports.symbols = {
56
- warning: colors_1.yellow(NO_UTF8_SUPPORT ? '!' : '⚠'),
57
- skipped: colors_1.cyan('-'),
58
- succeeded: colors_1.green(NO_UTF8_SUPPORT ? 'ok' : '✓'),
59
- failed: colors_1.red(NO_UTF8_SUPPORT ? 'x' : ''),
52
+ warning: (0, colors_1.yellow)(NO_UTF8_SUPPORT ? '!' : '⚠'),
53
+ skipped: (0, colors_1.cyan)('-'),
54
+ progress: (0, colors_1.cyan)('>'),
55
+ succeeded: (0, colors_1.green)(NO_UTF8_SUPPORT ? 'ok' : ''),
56
+ failed: (0, colors_1.red)(NO_UTF8_SUPPORT ? 'x' : '✖'),
60
57
  };
61
58
  function generateUniqueId() {
62
59
  return `${Date.now() + Math.floor(Math.random() * 1e13)}`;
63
60
  }
64
61
  exports.generateUniqueId = generateUniqueId;
65
62
  function generateTempPath() {
66
- return path_1.join(os_1.default.tmpdir(), `synthetics-${generateUniqueId()}`);
63
+ return (0, path_1.join)(os_1.default.tmpdir(), `synthetics-${generateUniqueId()}`);
67
64
  }
68
65
  exports.generateTempPath = generateTempPath;
69
66
  /**
@@ -136,16 +133,16 @@ exports.isFile = isFile;
136
133
  * from an NPM project.
137
134
  */
138
135
  function findPkgJsonByTraversing(resolvePath, cwd) {
139
- const packageJSON = path_1.resolve(resolvePath, 'package.json');
136
+ const packageJSON = (0, path_1.resolve)(resolvePath, 'package.json');
140
137
  if (isFile(packageJSON)) {
141
138
  return packageJSON;
142
139
  }
143
- const parentDirectory = path_1.dirname(resolvePath);
140
+ const parentDirectory = (0, path_1.dirname)(resolvePath);
144
141
  /**
145
142
  * We are in the system root and package.json does not exist
146
143
  */
147
144
  if (resolvePath === parentDirectory) {
148
- throw colors_1.red(`Could not find package.json file in: "${cwd}"\n` +
145
+ throw (0, colors_1.red)(`Could not find package.json file in: "${cwd}"\n` +
149
146
  `It is recommended to run the agent in an NPM project.\n` +
150
147
  `You can create one by running "npm init -y" in the project folder.`);
151
148
  }
@@ -160,13 +157,13 @@ exports.findPkgJsonByTraversing = findPkgJsonByTraversing;
160
157
  * https://github.com/lukeed/totalist/blob/44379974e535afe9c38e8d643dd64c59101a14b9/src/async.js#L8
161
158
  */
162
159
  async function totalist(dir, callback, pre = '') {
163
- dir = path_1.resolve('.', dir);
164
- await readdirAsync(dir).then(arr => {
160
+ dir = (0, path_1.resolve)('.', dir);
161
+ await (0, promises_1.readdir)(dir).then(arr => {
165
162
  return Promise.all(arr.map(str => {
166
- const abs = path_1.join(dir, str);
167
- return lstatAsync(abs).then(stats => stats.isDirectory()
168
- ? totalist(abs, callback, path_1.join(pre, str))
169
- : callback(path_1.join(pre, str), abs));
163
+ const abs = (0, path_1.join)(dir, str);
164
+ return (0, promises_1.lstat)(abs).then(stats => stats.isDirectory()
165
+ ? totalist(abs, callback, (0, path_1.join)(pre, str))
166
+ : callback((0, path_1.join)(pre, str), abs));
170
167
  }));
171
168
  });
172
169
  }
@@ -221,10 +218,20 @@ function rewriteErrorStack(stack, indexes) {
221
218
  return stack;
222
219
  }
223
220
  exports.rewriteErrorStack = rewriteErrorStack;
221
+ // formatError prefers receiving proper Errors, but since at runtime
222
+ // non Error exceptions can be thrown, it tolerates though. The
223
+ // redundant type Error | any expresses that.
224
224
  function formatError(error) {
225
- if (!(error instanceof Error)) {
225
+ if (error === undefined || error === null) {
226
226
  return;
227
227
  }
228
+ if (!(error instanceof Error)) {
229
+ return {
230
+ message: `Error "${error}" received, with type "${typeof error}". (Do not throw exceptions without using \`new Error("my message")\`)`,
231
+ name: '',
232
+ stack: '',
233
+ };
234
+ }
228
235
  const { name, message, stack } = error;
229
236
  const indexes = findPWLogsIndexes(message);
230
237
  return {
@@ -235,14 +242,153 @@ function formatError(error) {
235
242
  }
236
243
  exports.formatError = formatError;
237
244
  const cwd = process.cwd();
245
+ /**
246
+ * All the settings that are related to the Synthetics is stored
247
+ * under this directory
248
+ * Examples: Screenshots, Project setup
249
+ */
250
+ exports.SYNTHETICS_PATH = (0, path_1.join)(cwd, '.synthetics');
238
251
  /**
239
252
  * Synthetics cache path that is based on the process id to make sure
240
253
  * each process does not modify the caching layer used by other process
241
254
  * once we move to executing journeys in parallel
242
255
  */
243
- exports.CACHE_PATH = path_1.join(cwd, '.synthetics', process.pid.toString());
256
+ exports.CACHE_PATH = (0, path_1.join)(exports.SYNTHETICS_PATH, process.pid.toString());
244
257
  function getDurationInUs(duration) {
245
258
  return Math.trunc(duration * 1e6);
246
259
  }
247
260
  exports.getDurationInUs = getDurationInUs;
261
+ function megabitsToBytes(megabytes) {
262
+ return (megabytes * 1024 * 1024) / 8;
263
+ }
264
+ exports.megabitsToBytes = megabitsToBytes;
265
+ exports.DEFAULT_THROTTLING_OPTIONS = {
266
+ download: 5,
267
+ upload: 3,
268
+ latency: 20,
269
+ };
270
+ /**
271
+ * Transforms the CLI throttling arguments in to format
272
+ * expected by Chrome devtools protocol NetworkConditions
273
+ */
274
+ function getNetworkConditions(throttlingOpts) {
275
+ return {
276
+ downloadThroughput: megabitsToBytes(throttlingOpts.download),
277
+ uploadThroughput: megabitsToBytes(throttlingOpts.upload),
278
+ latency: throttlingOpts.latency,
279
+ offline: false,
280
+ };
281
+ }
282
+ exports.getNetworkConditions = getNetworkConditions;
283
+ exports.THROTTLING_WARNING_MSG = `Throttling may not be active when the tests run - see
284
+ https://github.com/elastic/synthetics/blob/main/docs/throttling.md for more details`;
285
+ const dstackTraceLimit = 10;
286
+ // Uses the V8 Stacktrace API to get the function location
287
+ // information - https://v8.dev/docs/stack-trace-api#customizing-stack-traces
288
+ function wrapFnWithLocation(func) {
289
+ return (...args) => {
290
+ const _prepareStackTrace = Error.prepareStackTrace;
291
+ Error.prepareStackTrace = (_, stackFrames) => {
292
+ // Deafult CallSite would not map to the original transpiled source
293
+ // correctly, So we use source-map-support to map the CallSite to the
294
+ // original source from our cached source map
295
+ const frame = source_map_support_1.default.wrapCallSite(stackFrames[1]);
296
+ return {
297
+ file: frame.getFileName(),
298
+ line: frame.getLineNumber(),
299
+ column: frame.getColumnNumber(),
300
+ };
301
+ };
302
+ Error.stackTraceLimit = 2;
303
+ const obj = {};
304
+ Error.captureStackTrace(obj);
305
+ const location = obj.stack;
306
+ Error.stackTraceLimit = dstackTraceLimit;
307
+ Error.prepareStackTrace = _prepareStackTrace;
308
+ return func(location, ...args);
309
+ };
310
+ }
311
+ exports.wrapFnWithLocation = wrapFnWithLocation;
312
+ // Safely parse ND JSON (Newline delimitted JSON) chunks
313
+ function safeNDJSONParse(data) {
314
+ // data may not be at proper newline boundaries, so we make sure everything is split
315
+ // on proper newlines
316
+ const chunks = Array.isArray(data) ? data : [data];
317
+ const lines = chunks.join('\n').split(/\r?\n/);
318
+ return lines
319
+ .filter(l => l.match(/\S/)) // remove blank lines
320
+ .map(line => {
321
+ try {
322
+ return JSON.parse(line);
323
+ }
324
+ catch (e) {
325
+ throw `Error ${e} could not parse data '${line}'`;
326
+ }
327
+ });
328
+ }
329
+ exports.safeNDJSONParse = safeNDJSONParse;
330
+ // Console helpers
331
+ function write(message, live) {
332
+ process.stderr.write(message + (live ? '\r' : '\n'));
333
+ }
334
+ exports.write = write;
335
+ function progress(message) {
336
+ write((0, colors_1.cyan)((0, colors_1.bold)(`${exports.symbols.progress} ${message}`)));
337
+ }
338
+ exports.progress = progress;
339
+ async function liveProgress(promise, message) {
340
+ const start = now();
341
+ const interval = setInterval(() => {
342
+ apiProgress(`${message} (${Math.trunc(now() - start)}ms)`, true);
343
+ }, 500);
344
+ promise.finally(() => clearInterval(interval));
345
+ const result = await promise;
346
+ apiProgress(`${message} (${Math.trunc(now() - start)}ms)`);
347
+ return result;
348
+ }
349
+ exports.liveProgress = liveProgress;
350
+ function apiProgress(message, live = false) {
351
+ write((0, colors_1.grey)(`> ${message}`), live);
352
+ }
353
+ exports.apiProgress = apiProgress;
354
+ function error(message) {
355
+ write((0, colors_1.red)(message));
356
+ }
357
+ exports.error = error;
358
+ function done(message) {
359
+ write((0, colors_1.bold)((0, colors_1.green)(`${exports.symbols['succeeded']} ${message}`)));
360
+ }
361
+ exports.done = done;
362
+ function warn(message) {
363
+ write((0, colors_1.bold)((0, colors_1.yellow)(`${exports.symbols['warning']} ${message}`)));
364
+ }
365
+ exports.warn = warn;
366
+ function removeTrailingSlash(url) {
367
+ return url.replace(/\/+$/, '');
368
+ }
369
+ exports.removeTrailingSlash = removeTrailingSlash;
370
+ function getMonitorManagementURL(url) {
371
+ return removeTrailingSlash(url) + '/app/uptime/manage-monitors/all';
372
+ }
373
+ exports.getMonitorManagementURL = getMonitorManagementURL;
374
+ /**
375
+ * Matches tests based on the provided args. Proitize tags over match
376
+ * - tags pattern that matches only tags
377
+ * - match pattern that matches both name and tags
378
+ */
379
+ function isMatch(tags, name, tagsPattern, matchPattern) {
380
+ if (tagsPattern) {
381
+ return tagsMatch(tags, tagsPattern);
382
+ }
383
+ if (matchPattern) {
384
+ return (micromatch_1.default.isMatch(name, matchPattern) || tagsMatch(tags, matchPattern));
385
+ }
386
+ return true;
387
+ }
388
+ exports.isMatch = isMatch;
389
+ function tagsMatch(tags, pattern) {
390
+ const matchess = (0, micromatch_1.default)(tags || ['*'], pattern);
391
+ return matchess.length > 0;
392
+ }
393
+ exports.tagsMatch = tagsMatch;
248
394
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,27 +22,25 @@
22
22
  * THE SOFTWARE.
23
23
  *
24
24
  */
25
- import { RunOptions } from './core/runner';
25
+ import { RunOptions } from './common_types';
26
26
  export declare function run(options: RunOptions): Promise<{
27
- [x: string]: {
28
- status: import("./common_types").StatusValue;
29
- error?: Error;
30
- };
27
+ [x: string]: import("./common_types").JourneyResult;
31
28
  }>;
32
29
  /**
33
30
  * Export all core module functions
34
31
  */
35
- export { beforeAll, afterAll, journey, step, before, after } from './core';
32
+ export { journey, step, monitor, beforeAll, afterAll, before, after, } from './core';
36
33
  export { expect } from './core/expect';
37
34
  /**
38
35
  * Export all the driver related types to be consumed
39
36
  * and used by suites
40
37
  */
41
- export type { Page, ChromiumBrowser, ChromiumBrowserContext, CDPSession, } from 'playwright-chromium';
38
+ export type { Page, ChromiumBrowser, ChromiumBrowserContext, CDPSession, APIRequestContext, } from 'playwright-chromium';
42
39
  /**
43
40
  * Export the types necessary to write custom reporters
44
41
  */
45
42
  export type { default as Runner } from './core/runner';
46
43
  export type { Reporter, ReporterOptions } from './reporters';
47
44
  export type { SyntheticsConfig } from './common_types';
45
+ export type { Action, ActionInContext, Signal, Step, Steps, actionTitle, } from './formatter/javascript';
48
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU;;;;;GAmB5C;AAED;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC;;;GAGG;AACH,YAAY,EACV,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU;;GAE5C;AAED;;GAEG;AACH,OAAO,EACL,OAAO,EACP,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC;;;GAGG;AACH,YAAY,EACV,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EACV,MAAM,EACN,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,GACZ,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -23,43 +23,22 @@
23
23
  * THE SOFTWARE.
24
24
  *
25
25
  */
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- return (mod && mod.__esModule) ? mod : { "default": mod };
28
- };
29
26
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.expect = exports.after = exports.before = exports.step = exports.journey = exports.afterAll = exports.beforeAll = exports.run = void 0;
27
+ exports.expect = exports.after = exports.before = exports.afterAll = exports.beforeAll = exports.monitor = exports.step = exports.journey = exports.run = void 0;
31
28
  const core_1 = require("./core");
32
- const logger_1 = require("./core/logger");
33
- const source_map_support_1 = __importDefault(require("source-map-support"));
34
29
  async function run(options) {
35
- /**
36
- * Install source map support
37
- */
38
- source_map_support_1.default.install({
39
- environment: 'node',
40
- });
41
- /**
42
- * set up logger with appropriate file descriptor
43
- * to capture all the DEBUG logs when run through heartbeat
44
- */
45
- logger_1.setLogger(options.outfd);
46
- try {
47
- return await core_1.runner.run(options);
48
- }
49
- catch (e) {
50
- console.error('Failed to run the test', e);
51
- process.exit(1);
52
- }
30
+ return core_1.runner.run(options);
53
31
  }
54
32
  exports.run = run;
55
33
  /**
56
34
  * Export all core module functions
57
35
  */
58
36
  var core_2 = require("./core");
59
- Object.defineProperty(exports, "beforeAll", { enumerable: true, get: function () { return core_2.beforeAll; } });
60
- Object.defineProperty(exports, "afterAll", { enumerable: true, get: function () { return core_2.afterAll; } });
61
37
  Object.defineProperty(exports, "journey", { enumerable: true, get: function () { return core_2.journey; } });
62
38
  Object.defineProperty(exports, "step", { enumerable: true, get: function () { return core_2.step; } });
39
+ Object.defineProperty(exports, "monitor", { enumerable: true, get: function () { return core_2.monitor; } });
40
+ Object.defineProperty(exports, "beforeAll", { enumerable: true, get: function () { return core_2.beforeAll; } });
41
+ Object.defineProperty(exports, "afterAll", { enumerable: true, get: function () { return core_2.afterAll; } });
63
42
  Object.defineProperty(exports, "before", { enumerable: true, get: function () { return core_2.before; } });
64
43
  Object.defineProperty(exports, "after", { enumerable: true, get: function () { return core_2.after; } });
65
44
  var expect_1 = require("./core/expect");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;AAEH,iCAAgC;AAEhC,0CAA0C;AAC1C,4EAAkD;AAE3C,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C;;OAEG;IACH,4BAAgB,CAAC,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM;KACpB,CAAC,CAAC;IACH;;;OAGG;IACH,kBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI;QACF,OAAO,MAAM,aAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC;AAnBD,kBAmBC;AAED;;GAEG;AACH,+BAA2E;AAAlE,iGAAA,SAAS,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAAE,+FAAA,OAAO,OAAA;AAAE,4FAAA,IAAI,OAAA;AAAE,8FAAA,MAAM,OAAA;AAAE,6FAAA,KAAK,OAAA;AAC1D,wCAAuC;AAA9B,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,iCAAgC;AAGzB,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,OAAO,aAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAFD,kBAEC;AAED;;GAEG;AACH,+BAQgB;AAPd,+FAAA,OAAO,OAAA;AACP,4FAAA,IAAI,OAAA;AACJ,+FAAA,OAAO,OAAA;AACP,iGAAA,SAAS,OAAA;AACT,gGAAA,QAAQ,OAAA;AACR,8FAAA,MAAM,OAAA;AACN,6FAAA,KAAK,OAAA;AAEP,wCAAuC;AAA9B,gGAAA,MAAM,OAAA"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2020-present, Elastic NV
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ */
25
+ import { CliArgs } from './common_types';
26
+ /**
27
+ * Perform global setup process required for running the test suites
28
+ * and also for bundling the monitors. The process includes
29
+ * - Transpiling the TS/JS test files
30
+ * - Loading these files for running test suites
31
+ */
32
+ export declare function globalSetup(options: CliArgs, args: string[]): Promise<() => void>;
33
+ export declare function loadTestFiles(options: CliArgs, args: string[]): Promise<void>;
34
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAezC;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,uBAMjE;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,iBA0BnE"}
package/dist/loader.js ADDED
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * MIT License
4
+ *
5
+ * Copyright (c) 2020-present, Elastic NV
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ *
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.loadTestFiles = exports.globalSetup = void 0;
28
+ const process_1 = require("process");
29
+ const path_1 = require("path");
30
+ const core_1 = require("./core");
31
+ const logger_1 = require("./core/logger");
32
+ const expect_1 = require("./core/expect");
33
+ const helpers_1 = require("./helpers");
34
+ const transform_1 = require("./core/transform");
35
+ const resolvedCwd = (0, process_1.cwd)();
36
+ const JOURNEY_EXTENSIONS = ['.js', '.ts', '.mjs', '.cjs'];
37
+ /**
38
+ * Perform global setup process required for running the test suites
39
+ * and also for bundling the monitors. The process includes
40
+ * - Transpiling the TS/JS test files
41
+ * - Loading these files for running test suites
42
+ */
43
+ async function globalSetup(options, args) {
44
+ const revert = (0, transform_1.installTransform)();
45
+ await loadTestFiles(options, args);
46
+ return () => {
47
+ revert();
48
+ };
49
+ }
50
+ exports.globalSetup = globalSetup;
51
+ async function loadTestFiles(options, args) {
52
+ /**
53
+ * Preload modules before running the tests
54
+ */
55
+ const modules = [].concat(options.require || []).filter(Boolean);
56
+ for (const name of modules) {
57
+ if ((0, helpers_1.isDepInstalled)(name)) {
58
+ require(name);
59
+ }
60
+ else {
61
+ throw new Error(`cannot find module '${name}'`);
62
+ }
63
+ }
64
+ if (options.inline) {
65
+ const source = await readStdin();
66
+ loadInlineScript(source);
67
+ return;
68
+ }
69
+ /**
70
+ * Handle piped files by reading the STDIN
71
+ * ex: ls example/suites/*.js | npx @elastic/synthetics
72
+ */
73
+ const files = args.length > 0 ? args : (await readStdin()).split('\n').filter(Boolean);
74
+ const suites = await prepareSuites(files, options.pattern);
75
+ requireSuites(suites);
76
+ }
77
+ exports.loadTestFiles = loadTestFiles;
78
+ const loadInlineScript = source => {
79
+ const scriptFn = new Function('step', 'page', 'context', 'browser', 'params', 'expect', 'request', source);
80
+ (0, core_1.journey)('inline', ({ page, context, browser, params, request }) => {
81
+ scriptFn.apply(null, [
82
+ core_1.step,
83
+ page,
84
+ context,
85
+ browser,
86
+ params,
87
+ expect_1.expect,
88
+ request,
89
+ ]);
90
+ });
91
+ };
92
+ /**
93
+ * Read the input from STDIN and run it as inline journey
94
+ */
95
+ async function readStdin() {
96
+ const chunks = [];
97
+ process_1.stdin.resume();
98
+ process_1.stdin.setEncoding('utf-8');
99
+ for await (const chunk of process_1.stdin) {
100
+ chunks.push(chunk);
101
+ }
102
+ return chunks.join();
103
+ }
104
+ function requireSuites(suites) {
105
+ for (const suite of suites) {
106
+ require(suite);
107
+ }
108
+ }
109
+ /**
110
+ * Handle both directory and files that are passed through TTY
111
+ * and add them to suites
112
+ */
113
+ async function prepareSuites(inputs, filePattern) {
114
+ const suites = new Set();
115
+ const addSuite = absPath => {
116
+ if (!JOURNEY_EXTENSIONS.includes((0, path_1.extname)(absPath))) {
117
+ return;
118
+ }
119
+ (0, logger_1.log)(`Processing file: ${absPath}`);
120
+ suites.add(require.resolve(absPath));
121
+ };
122
+ /**
123
+ * Match all files inside the directory with the
124
+ * .journey.{mjs|cjs|js|ts) extensions
125
+ */
126
+ const pattern = filePattern
127
+ ? new RegExp(filePattern, 'i')
128
+ : /.+\.journey\.([mc]js|[jt]s?)$/;
129
+ /**
130
+ * Ignore node_modules by default when running suites
131
+ */
132
+ const ignored = /node_modules/i;
133
+ for (const input of inputs) {
134
+ const absPath = (0, path_1.resolve)(resolvedCwd, input);
135
+ /**
136
+ * Validate for package.json file before running
137
+ * the suites
138
+ */
139
+ (0, helpers_1.findPkgJsonByTraversing)(absPath, resolvedCwd);
140
+ if ((0, helpers_1.isDirectory)(absPath)) {
141
+ await (0, helpers_1.totalist)(absPath, (rel, abs) => {
142
+ if (pattern.test(rel) && !ignored.test(rel)) {
143
+ addSuite(abs);
144
+ }
145
+ });
146
+ }
147
+ else {
148
+ addSuite(absPath);
149
+ }
150
+ }
151
+ return suites.values();
152
+ }
153
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2020-present, Elastic NV
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ */
25
+ export declare type LocationCmdOptions = {
26
+ auth: string;
27
+ url: string;
28
+ };
29
+ declare type LocationMetadata = {
30
+ id: string;
31
+ label: string;
32
+ isServiceManaged: boolean;
33
+ };
34
+ export declare type LocationAPIResponse = {
35
+ locations: Array<LocationMetadata>;
36
+ };
37
+ export declare function getLocations(options: LocationCmdOptions): Promise<LocationMetadata[]>;
38
+ export declare function formatLocations(locations: Array<LocationMetadata>): string[];
39
+ export declare function groupLocations(locations: Array<string>): {
40
+ locations: any[];
41
+ privateLocations: any[];
42
+ };
43
+ export declare function renderLocations(locations: Array<string>): void;
44
+ export {};
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACpC,CAAC;AAIF,wBAAsB,YAAY,CAAC,OAAO,EAAE,kBAAkB,+BAO7D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,YAajE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;;;EAUtD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAYvD"}