testplane 0.1.1 → 0.1.2

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 (136) hide show
  1. package/README.md +5 -5
  2. package/build/package.json +26 -4
  3. package/build/src/browser/browser.d.ts +3 -1
  4. package/build/src/browser/browser.js +12 -6
  5. package/build/src/browser/browser.js.map +1 -1
  6. package/build/src/browser/existing-browser.js +5 -1
  7. package/build/src/browser/existing-browser.js.map +1 -1
  8. package/build/src/browser/new-browser.d.ts +4 -4
  9. package/build/src/browser/screen-shooter/viewport/coord-validator/index.d.ts +2 -1
  10. package/build/src/browser/types.d.ts +3 -0
  11. package/build/src/browser-pool/basic-pool.d.ts +2 -1
  12. package/build/src/browser-pool/caching-pool.d.ts +2 -1
  13. package/build/src/browser-pool/limited-pool.d.ts +2 -1
  14. package/build/src/browser-pool/limited-use-set.d.ts +2 -1
  15. package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -1
  16. package/build/src/bundle/index.js +2004 -0
  17. package/build/src/config/defaults.d.ts +2 -1
  18. package/build/src/config/defaults.js +3 -2
  19. package/build/src/config/defaults.js.map +1 -1
  20. package/build/src/config/options.js +25 -0
  21. package/build/src/config/options.js.map +1 -1
  22. package/build/src/config/types.d.ts +7 -1
  23. package/build/src/constants/config.d.ts +2 -0
  24. package/build/src/constants/config.js +2 -0
  25. package/build/src/constants/config.js.map +1 -1
  26. package/build/src/runner/browser-env/index.d.ts +12 -0
  27. package/build/src/runner/browser-env/index.js +34 -0
  28. package/build/src/runner/browser-env/index.js.map +1 -0
  29. package/build/src/runner/browser-env/vite/browser-modules/constants.d.ts +17 -0
  30. package/build/src/runner/browser-env/vite/browser-modules/constants.js +20 -0
  31. package/build/src/runner/browser-env/vite/browser-modules/constants.js.map +1 -0
  32. package/build/src/runner/browser-env/vite/browser-modules/driver.d.ts +3 -0
  33. package/build/src/runner/browser-env/vite/browser-modules/driver.js +113 -0
  34. package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -0
  35. package/build/src/runner/browser-env/vite/browser-modules/errors/base.d.ts +6 -0
  36. package/build/src/runner/browser-env/vite/browser-modules/errors/base.js +10 -0
  37. package/build/src/runner/browser-env/vite/browser-modules/errors/base.js.map +1 -0
  38. package/build/src/runner/browser-env/vite/browser-modules/errors/browser.d.ts +12 -0
  39. package/build/src/runner/browser-env/vite/browser-modules/errors/browser.js +14 -0
  40. package/build/src/runner/browser-env/vite/browser-modules/errors/browser.js.map +1 -0
  41. package/build/src/runner/browser-env/vite/browser-modules/errors/index.d.ts +10 -0
  42. package/build/src/runner/browser-env/vite/browser-modules/errors/index.js +44 -0
  43. package/build/src/runner/browser-env/vite/browser-modules/errors/index.js.map +1 -0
  44. package/build/src/runner/browser-env/vite/browser-modules/errors/load-page.d.ts +10 -0
  45. package/build/src/runner/browser-env/vite/browser-modules/errors/load-page.js +10 -0
  46. package/build/src/runner/browser-env/vite/browser-modules/errors/load-page.js.map +1 -0
  47. package/build/src/runner/browser-env/vite/browser-modules/errors/vite-runtime.d.ts +17 -0
  48. package/build/src/runner/browser-env/vite/browser-modules/errors/vite-runtime.js +17 -0
  49. package/build/src/runner/browser-env/vite/browser-modules/errors/vite-runtime.js.map +1 -0
  50. package/build/src/runner/browser-env/vite/browser-modules/expect.d.ts +2 -0
  51. package/build/src/runner/browser-env/vite/browser-modules/expect.js +84 -0
  52. package/build/src/runner/browser-env/vite/browser-modules/expect.js.map +1 -0
  53. package/build/src/runner/browser-env/vite/browser-modules/globals.d.ts +1 -0
  54. package/build/src/runner/browser-env/vite/browser-modules/globals.js +63 -0
  55. package/build/src/runner/browser-env/vite/browser-modules/globals.js.map +1 -0
  56. package/build/src/runner/browser-env/vite/browser-modules/index.d.ts +1 -0
  57. package/build/src/runner/browser-env/vite/browser-modules/index.js +13 -0
  58. package/build/src/runner/browser-env/vite/browser-modules/index.js.map +1 -0
  59. package/build/src/runner/browser-env/vite/browser-modules/mocha/events.d.ts +6 -0
  60. package/build/src/runner/browser-env/vite/browser-modules/mocha/events.js +7 -0
  61. package/build/src/runner/browser-env/vite/browser-modules/mocha/events.js.map +1 -0
  62. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.d.ts +10 -0
  63. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +63 -0
  64. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -0
  65. package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.d.ts +10 -0
  66. package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.js +21 -0
  67. package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.js.map +1 -0
  68. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -0
  69. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +92 -0
  70. package/build/src/runner/browser-env/vite/browser-modules/types.js +16 -0
  71. package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -0
  72. package/build/src/runner/browser-env/vite/browser-modules/utils/console.d.ts +1 -0
  73. package/build/src/runner/browser-env/vite/browser-modules/utils/console.js +13 -0
  74. package/build/src/runner/browser-env/vite/browser-modules/utils/console.js.map +1 -0
  75. package/build/src/runner/browser-env/vite/browser-modules/utils/index.d.ts +2 -0
  76. package/build/src/runner/browser-env/vite/browser-modules/utils/index.js +3 -0
  77. package/build/src/runner/browser-env/vite/browser-modules/utils/index.js.map +1 -0
  78. package/build/src/runner/browser-env/vite/browser-modules/utils/selector.d.ts +1 -0
  79. package/build/src/runner/browser-env/vite/browser-modules/utils/selector.js +4 -0
  80. package/build/src/runner/browser-env/vite/browser-modules/utils/selector.js.map +1 -0
  81. package/build/src/runner/browser-env/vite/constants.d.ts +13 -0
  82. package/build/src/runner/browser-env/vite/constants.js +18 -0
  83. package/build/src/runner/browser-env/vite/constants.js.map +1 -0
  84. package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +2 -0
  85. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +148 -0
  86. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -0
  87. package/build/src/runner/browser-env/vite/server.d.ts +14 -0
  88. package/build/src/runner/browser-env/vite/server.js +117 -0
  89. package/build/src/runner/browser-env/vite/server.js.map +1 -0
  90. package/build/src/runner/browser-env/vite/socket.d.ts +2 -0
  91. package/build/src/runner/browser-env/vite/socket.js +106 -0
  92. package/build/src/runner/browser-env/vite/socket.js.map +1 -0
  93. package/build/src/runner/browser-env/vite/types.d.ts +16 -0
  94. package/build/src/runner/browser-env/vite/types.js +13 -0
  95. package/build/src/runner/browser-env/vite/types.js.map +1 -0
  96. package/build/src/runner/browser-env/vite/utils.d.ts +7 -0
  97. package/build/src/runner/browser-env/vite/utils.js +26 -0
  98. package/build/src/runner/browser-env/vite/utils.js.map +1 -0
  99. package/build/src/test-reader/test-parser.js +3 -0
  100. package/build/src/test-reader/test-parser.js.map +1 -1
  101. package/build/src/test-reader/test-transformer.d.ts +2 -0
  102. package/build/src/test-reader/test-transformer.js +8 -0
  103. package/build/src/test-reader/test-transformer.js.map +1 -0
  104. package/build/src/testplane.d.ts +3 -2
  105. package/build/src/testplane.js +3 -1
  106. package/build/src/testplane.js.map +1 -1
  107. package/build/src/types/index.d.ts +7 -2
  108. package/build/src/types/index.js.map +1 -1
  109. package/build/src/utils/config.d.ts +2 -0
  110. package/build/src/utils/config.js +9 -0
  111. package/build/src/utils/config.js.map +1 -0
  112. package/build/src/worker/browser-env/runner/test-runner/constants.d.ts +10 -0
  113. package/build/src/worker/browser-env/runner/test-runner/constants.js +14 -0
  114. package/build/src/worker/browser-env/runner/test-runner/constants.js.map +1 -0
  115. package/build/src/worker/browser-env/runner/test-runner/execution-thread.d.ts +3 -0
  116. package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +40 -0
  117. package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -0
  118. package/build/src/worker/browser-env/runner/test-runner/index.d.ts +16 -0
  119. package/build/src/worker/browser-env/runner/test-runner/index.js +178 -0
  120. package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -0
  121. package/build/src/worker/browser-env/runner/test-runner/types.d.ts +8 -0
  122. package/build/src/worker/browser-env/runner/test-runner/types.js +11 -0
  123. package/build/src/worker/browser-env/runner/test-runner/types.js.map +1 -0
  124. package/build/src/worker/runner/index.js +9 -2
  125. package/build/src/worker/runner/index.js.map +1 -1
  126. package/build/src/worker/runner/test-runner/index.d.ts +21 -3
  127. package/build/src/worker/runner/test-runner/index.js +21 -9
  128. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  129. package/build/src/worker/runner/test-runner/runner.d.ts +5 -0
  130. package/build/src/worker/runner/test-runner/runner.js +10 -0
  131. package/build/src/worker/runner/test-runner/runner.js.map +1 -0
  132. package/build/src/worker/runner/test-runner/types.d.ts +23 -0
  133. package/build/src/worker/runner/test-runner/types.js +3 -0
  134. package/build/src/worker/runner/test-runner/types.js.map +1 -0
  135. package/package.json +26 -4
  136. package/typings/global.d.ts +6 -0
@@ -1,9 +1,9 @@
1
1
  import { WEBDRIVER_PROTOCOL } from "../constants/config";
2
+ import { NODEJS_TEST_RUN_ENV } from "../constants/config";
2
3
  export declare let baseUrl: string;
3
4
  export declare let gridUrl: string;
4
5
  export declare let browserWSEndpoint: null;
5
6
  export declare let desiredCapabilities: null;
6
- export { WEBDRIVER_PROTOCOL as automationProtocol };
7
7
  export declare let sessionEnvFlags: {};
8
8
  export declare let screenshotsDir: string;
9
9
  export declare let diffColor: string;
@@ -90,3 +90,4 @@ export declare let region: null;
90
90
  export declare let headless: null;
91
91
  export declare let isolation: null;
92
92
  export declare let configPaths: string[];
93
+ export { WEBDRIVER_PROTOCOL as automationProtocol, NODEJS_TEST_RUN_ENV as testRunEnv };
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const { WEBDRIVER_PROTOCOL, SAVE_HISTORY_MODE } = require("../constants/config");
2
+ const { WEBDRIVER_PROTOCOL, SAVE_HISTORY_MODE, NODEJS_TEST_RUN_ENV } = require("../constants/config");
3
3
  module.exports = {
4
4
  baseUrl: "http://localhost",
5
5
  gridUrl: "http://localhost:4444/wd/hub",
@@ -79,7 +79,7 @@ module.exports = {
79
79
  resetCursor: true,
80
80
  strictTestsOrder: false,
81
81
  saveHistoryMode: SAVE_HISTORY_MODE.ALL,
82
- fileExtensions: [".js", ".mjs", ".ts", ".mts"],
82
+ fileExtensions: [".js", ".mjs", ".ts", ".mts", ".jsx", ".tsx"],
83
83
  outputDir: null,
84
84
  agent: null,
85
85
  headers: null,
@@ -91,6 +91,7 @@ module.exports = {
91
91
  region: null,
92
92
  headless: null,
93
93
  isolation: null,
94
+ testRunEnv: NODEJS_TEST_RUN_ENV,
94
95
  };
95
96
  module.exports.configPaths = [".testplane.conf.ts", ".testplane.conf.js", ".hermione.conf.ts", ".hermione.conf.js"];
96
97
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/config/defaults.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/config/defaults.js"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ const { root, section, map, option } = require("gemini-configparser");
4
4
  const browserOptions = require("./browser-options");
5
5
  const defaults = require("./defaults");
6
6
  const optionsBuilder = require("./options-builder");
7
+ const { NODEJS_TEST_RUN_ENV, BROWSER_TEST_RUN_ENV } = require("../constants/config");
7
8
  const options = optionsBuilder(_.propertyOf(defaults));
8
9
  const ENV_PREFIXES = ["testplane_", "hermione_"];
9
10
  const rootSection = section(_.extend(browserOptions.getTopLevel(), {
@@ -33,6 +34,30 @@ const rootSection = section(_.extend(browserOptions.getTopLevel(), {
33
34
  }
34
35
  },
35
36
  }),
37
+ testRunEnv: option({
38
+ defaultValue: defaults.testRunEnv,
39
+ validate: value => {
40
+ if (!_.isArray(value) && !_.isString(value)) {
41
+ throw new Error(`"testRunEnv" must be an array or string but got ${JSON.stringify(value)}`);
42
+ }
43
+ if (_.isString(value)) {
44
+ if (value !== NODEJS_TEST_RUN_ENV && value !== BROWSER_TEST_RUN_ENV) {
45
+ throw new Error(`"testRunEnv" specified as string must be "${NODEJS_TEST_RUN_ENV}" or "${BROWSER_TEST_RUN_ENV}" but got "${value}"`);
46
+ }
47
+ return;
48
+ }
49
+ const [testRunEnv, options] = value;
50
+ if (testRunEnv === NODEJS_TEST_RUN_ENV) {
51
+ throw new Error(`"testRunEnv" with "${NODEJS_TEST_RUN_ENV}" value must be specified as string but got ${JSON.stringify(value)}`);
52
+ }
53
+ if (testRunEnv === BROWSER_TEST_RUN_ENV && !options) {
54
+ throw new Error(`"testRunEnv" specified as array must also contain options as second argument but got ${JSON.stringify(value)}`);
55
+ }
56
+ if (testRunEnv !== BROWSER_TEST_RUN_ENV) {
57
+ throw new Error(`"testRunEnv" specified as array must be in format ["${BROWSER_TEST_RUN_ENV}", <options>] but got ${JSON.stringify(value)}`);
58
+ }
59
+ },
60
+ }),
36
61
  }),
37
62
  plugins: options.anyObject(),
38
63
  sets: map(section({
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/config/options.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/config/options.js"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { SetRequired } from "type-fest";
2
2
  import type { BrowserConfig } from "./browser-config";
3
+ import type { BrowserTestRunEnvOptions } from "../runner/browser-env/vite/types";
3
4
  import type { Test } from "../types";
4
5
  export interface CompareOptsConfig {
5
6
  shouldCluster: boolean;
@@ -65,11 +66,12 @@ export interface SystemConfig {
65
66
  tempDir: string;
66
67
  parallelLimit: number;
67
68
  fileExtensions: Array<string>;
69
+ testRunEnv: "nodejs" | "browser" | ["browser", BrowserTestRunEnvOptions];
68
70
  }
69
71
  export interface CommonConfig {
70
72
  configPath?: string;
71
73
  automationProtocol: "webdriver" | "devtools";
72
- desiredCapabilities: WebDriver.DesiredCapabilities | null;
74
+ desiredCapabilities: WebdriverIO.Capabilities | null;
73
75
  gridUrl: string;
74
76
  baseUrl: string;
75
77
  sessionsPerBrowser: number;
@@ -139,6 +141,10 @@ export type ConfigInput = {
139
141
  sets?: Record<string, SetsConfig>;
140
142
  prepareEnvironment?: () => void | null;
141
143
  };
144
+ export interface RuntimeConfig {
145
+ extend: (data: unknown) => this;
146
+ [key: string]: unknown;
147
+ }
142
148
  declare module "." {
143
149
  interface Config extends CommonConfig {
144
150
  browsers: Record<string, BrowserConfig>;
@@ -5,3 +5,5 @@ export namespace SAVE_HISTORY_MODE {
5
5
  let NONE: string;
6
6
  let ONLY_FAILED: string;
7
7
  }
8
+ export let NODEJS_TEST_RUN_ENV: string;
9
+ export let BROWSER_TEST_RUN_ENV: string;
@@ -7,5 +7,7 @@ module.exports = {
7
7
  NONE: "none",
8
8
  ONLY_FAILED: "onlyFailed",
9
9
  },
10
+ NODEJS_TEST_RUN_ENV: "nodejs",
11
+ BROWSER_TEST_RUN_ENV: "browser",
10
12
  };
11
13
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/constants/config.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,OAAO,GAAG;IACb,kBAAkB,EAAE,WAAW;IAC/B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE;QACf,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,YAAY;KAC5B;CACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/constants/config.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,OAAO,GAAG;IACb,kBAAkB,EAAE,WAAW;IAC/B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE;QACf,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,YAAY;KAC5B;IACD,mBAAmB,EAAE,QAAQ;IAC7B,oBAAoB,EAAE,SAAS;CAClC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { MainRunner as NodejsEnvRunner } from "..";
2
+ import { TestCollection } from "../../test-collection";
3
+ import { Config } from "../../config";
4
+ import { Interceptor } from "../../events";
5
+ import type { Stats as RunnerStats } from "../../stats";
6
+ export declare class MainRunner extends NodejsEnvRunner {
7
+ private _viteServer;
8
+ constructor(config: Config, interceptors: Interceptor[]);
9
+ run(testCollection: TestCollection, stats: RunnerStats): Promise<void>;
10
+ private _useBaseUrlFromVite;
11
+ cancel(): void;
12
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MainRunner = void 0;
4
+ const server_1 = require("./vite/server");
5
+ const __1 = require("..");
6
+ class MainRunner extends __1.MainRunner {
7
+ constructor(config, interceptors) {
8
+ super(config, interceptors);
9
+ this._viteServer = server_1.ViteServer.create(config);
10
+ }
11
+ async run(testCollection, stats) {
12
+ try {
13
+ await this._viteServer.start();
14
+ }
15
+ catch (err) {
16
+ throw new Error(`Vite server failed to start: ${err.message}`);
17
+ }
18
+ this._useBaseUrlFromVite();
19
+ await super.run(testCollection, stats);
20
+ }
21
+ _useBaseUrlFromVite() {
22
+ const viteBaseUrl = this._viteServer.baseUrl;
23
+ this.config.baseUrl = viteBaseUrl;
24
+ for (const broConfig of Object.values(this.config.browsers)) {
25
+ broConfig.baseUrl = viteBaseUrl;
26
+ }
27
+ }
28
+ cancel() {
29
+ super.cancel();
30
+ this._viteServer.close();
31
+ }
32
+ }
33
+ exports.MainRunner = MainRunner;
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runner/browser-env/index.ts"],"names":[],"mappings":";;;AAAA,0CAA2C;AAC3C,0BAAmD;AAMnD,MAAa,UAAW,SAAQ,cAAe;IAG3C,YAAY,MAAc,EAAE,YAA2B;QACnD,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAE5B,IAAI,CAAC,WAAW,GAAG,mBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,cAA8B,EAAE,KAAkB;QACxD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gCAAiC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,mBAAmB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAQ,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;QAClC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC;QACpC,CAAC;IACL,CAAC;IAED,MAAM;QACF,KAAK,CAAC,MAAM,EAAE,CAAC;QAEf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACJ;AAlCD,gCAkCC"}
@@ -0,0 +1,17 @@
1
+ export declare const DOCUMENT_TITLE = "Testplane Browser Test";
2
+ export declare const VITE_OVERLAY_SELECTOR = "vite-error-overlay";
3
+ export declare const VITE_SELECTORS: {
4
+ overlay: string;
5
+ overlayMessage: string;
6
+ overlayStack: string;
7
+ overlayFile: string;
8
+ overlayFrame: string;
9
+ overlayTip: string;
10
+ };
11
+ export declare const BROWSER_EVENT_PREFIX = "browser";
12
+ export declare const WORKER_EVENT_PREFIX = "worker";
13
+ export declare const SOCKET_MAX_TIMEOUT = 2147483647;
14
+ export declare const SOCKET_TIMED_OUT_ERROR = "operation has timed out";
15
+ export declare const MAX_ARGS_LENGTH = 50;
16
+ export declare const ASYMMETRIC_MATCHER: number | symbol;
17
+ export declare const CONSOLE_METHODS: readonly ["log", "info", "warn", "error", "debug", "table"];
@@ -0,0 +1,20 @@
1
+ export const DOCUMENT_TITLE = "Testplane Browser Test";
2
+ export const VITE_OVERLAY_SELECTOR = "vite-error-overlay";
3
+ export const VITE_SELECTORS = {
4
+ overlay: "vite-error-overlay",
5
+ overlayMessage: ".message",
6
+ overlayStack: ".stack",
7
+ overlayFile: ".file",
8
+ overlayFrame: ".frame",
9
+ overlayTip: ".tip",
10
+ };
11
+ export const BROWSER_EVENT_PREFIX = "browser";
12
+ export const WORKER_EVENT_PREFIX = "worker";
13
+ // TODO: use from nodejs code after migrate to esm
14
+ export const SOCKET_MAX_TIMEOUT = 2147483647;
15
+ export const SOCKET_TIMED_OUT_ERROR = "operation has timed out";
16
+ export const MAX_ARGS_LENGTH = 50;
17
+ // used from - https://github.com/jestjs/jest/blob/726ca20752e38c18e20aa21740cec7aba7891946/packages/pretty-format/src/plugins/AsymmetricMatcher.ts#L11-L14
18
+ export const ASYMMETRIC_MATCHER = typeof Symbol === "function" && Symbol.for ? Symbol.for("jest.asymmetricMatcher") : 1267621;
19
+ export const CONSOLE_METHODS = ["log", "info", "warn", "error", "debug", "table"];
20
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/runner/browser-env/vite/browser-modules/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,oBAAoB;IAC7B,cAAc,EAAE,UAAU;IAC1B,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,MAAM;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,2JAA2J;AAC3J,MAAM,CAAC,MAAM,kBAAkB,GAC3B,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,OAAU,CAAC;AAEnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ export default class ProxyDriver {
2
+ static newSession(params: Record<string, unknown>, modifier: never, userPrototype: Record<string, PropertyDescriptor>, commandWrapper: VoidFunction | undefined): unknown;
3
+ }
@@ -0,0 +1,113 @@
1
+ import { WebDriverProtocol, MJsonWProtocol, JsonWProtocol, AppiumProtocol, ChromiumProtocol, SauceLabsProtocol, SeleniumProtocol, GeckoProtocol, WebDriverBidiProtocol, } from "@wdio/protocols";
2
+ import { webdriverMonad, sessionEnvironmentDetector, devtoolsEnvironmentDetector } from "@wdio/utils";
3
+ import { getEnvironmentVars } from "webdriver";
4
+ import { SOCKET_MAX_TIMEOUT, SOCKET_TIMED_OUT_ERROR, MAX_ARGS_LENGTH } from "./constants.js";
5
+ import { BrowserEventNames } from "./types.js";
6
+ const SERVER_HANDLED_COMMANDS = ["debug", "saveScreenshot", "savePDF"];
7
+ export default class ProxyDriver {
8
+ static newSession(params, modifier, userPrototype, commandWrapper) {
9
+ const monad = webdriverMonad(params, modifier, getWdioPrototype(userPrototype));
10
+ return monad(window.__testplane__.sessionId, commandWrapper);
11
+ }
12
+ }
13
+ function getWdioPrototype(userPrototype) {
14
+ const prototype = {
15
+ ...userPrototype,
16
+ ...getMockedProtocolCommands(),
17
+ ...getEnvironmentFlags(),
18
+ };
19
+ return prototype;
20
+ }
21
+ function getAllProtocolCommands() {
22
+ const protocols = [
23
+ WebDriverProtocol,
24
+ MJsonWProtocol,
25
+ JsonWProtocol,
26
+ AppiumProtocol,
27
+ ChromiumProtocol,
28
+ SauceLabsProtocol,
29
+ SeleniumProtocol,
30
+ GeckoProtocol,
31
+ WebDriverBidiProtocol,
32
+ ];
33
+ const commands = new Set();
34
+ for (const protocol of protocols) {
35
+ for (const endpointData of Object.values(protocol)) {
36
+ for (const { command } of Object.values(endpointData)) {
37
+ commands.add(command);
38
+ }
39
+ }
40
+ }
41
+ return Array.from(commands);
42
+ }
43
+ function getMockedProtocolCommands() {
44
+ return [...getAllProtocolCommands(), ...SERVER_HANDLED_COMMANDS, ...window.__testplane__.customCommands].reduce((acc, commandName) => {
45
+ acc[commandName] = { value: mockCommand(commandName) };
46
+ return acc;
47
+ }, {});
48
+ }
49
+ function mockCommand(commandName) {
50
+ return async (...args) => {
51
+ const { socket } = window.__testplane__;
52
+ const timeout = getCommandTimeout(commandName);
53
+ try {
54
+ // TODO: remove type casting after https://github.com/socketio/socket.io/issues/4925
55
+ const [error, result] = (await socket
56
+ .timeout(timeout)
57
+ .emitWithAck(BrowserEventNames.runBrowserCommand, { name: commandName, args }));
58
+ if (error) {
59
+ throw error;
60
+ }
61
+ return result;
62
+ }
63
+ catch (err) {
64
+ let error = err;
65
+ if (error.message === SOCKET_TIMED_OUT_ERROR) {
66
+ error = new Error(`Didn't receive response from worker when executing browser command "${commandName}" with arguments "[${normalizeCommandArgs(commandName, args)}]" in ${timeout}ms`);
67
+ }
68
+ throw error;
69
+ }
70
+ };
71
+ }
72
+ function getEnvironmentFlags() {
73
+ const { capabilities, requestedCapabilities, config } = window.__testplane__;
74
+ const environment = config.automationProtocol === "devtools"
75
+ ? devtoolsEnvironmentDetector(capabilities)
76
+ : sessionEnvironmentDetector({
77
+ capabilities,
78
+ requestedCapabilities: requestedCapabilities,
79
+ });
80
+ return getEnvironmentVars(environment);
81
+ }
82
+ function getCommandTimeout(commandName) {
83
+ const { config } = window.__testplane__;
84
+ let timeout = config.httpTimeout;
85
+ if (commandName === "debug" || commandName === "switchToRepl") {
86
+ timeout = SOCKET_MAX_TIMEOUT;
87
+ }
88
+ if (commandName === "navigateTo" && config.urlHttpTimeout) {
89
+ timeout = config.urlHttpTimeout;
90
+ }
91
+ return timeout;
92
+ }
93
+ function normalizeCommandArgs(name, args = []) {
94
+ if (name === "execute") {
95
+ return ["code"];
96
+ }
97
+ return args.map(arg => {
98
+ if (typeof arg === "string") {
99
+ return truncate(arg, MAX_ARGS_LENGTH);
100
+ }
101
+ if (arg !== null && typeof arg === "object") {
102
+ return "obj";
103
+ }
104
+ return arg;
105
+ });
106
+ }
107
+ function truncate(value, maxLen) {
108
+ if (value.length <= maxLen) {
109
+ return value;
110
+ }
111
+ return `${value.slice(0, maxLen - 3)}...`;
112
+ }
113
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../src/runner/browser-env/vite/browser-modules/driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class BaseError extends Error {
2
+ constructor({ message, stack }: {
3
+ message: string;
4
+ stack?: string;
5
+ });
6
+ }
@@ -0,0 +1,10 @@
1
+ export class BaseError extends Error {
2
+ constructor({ message, stack }) {
3
+ super(message);
4
+ this.name = this.constructor.name;
5
+ if (stack) {
6
+ this.stack = stack;
7
+ }
8
+ }
9
+ }
10
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/errors/base.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAU,SAAQ,KAAK;IAChC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAuC;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAElC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { BaseError } from "./base.js";
2
+ interface BrowserErrorData {
3
+ message: string;
4
+ stack?: string;
5
+ file?: string;
6
+ }
7
+ export declare class BrowserError extends BaseError {
8
+ file?: string;
9
+ static create<T extends BrowserError>(this: new (opts: BrowserErrorData) => T, opts: BrowserErrorData): T;
10
+ constructor({ message, stack, file }: BrowserErrorData);
11
+ }
12
+ export {};
@@ -0,0 +1,14 @@
1
+ import { BaseError } from "./base.js";
2
+ export class BrowserError extends BaseError {
3
+ file;
4
+ static create(opts) {
5
+ return new this(opts);
6
+ }
7
+ constructor({ message, stack, file }) {
8
+ super({ message, stack });
9
+ if (file) {
10
+ this.file = file;
11
+ }
12
+ }
13
+ }
14
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/errors/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAQtC,MAAM,OAAO,YAAa,SAAQ,SAAS;IACvC,IAAI,CAAU;IAEd,MAAM,CAAC,MAAM,CAAkE,IAAsB;QACjG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAoB;QAClD,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1B,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,10 @@
1
+ import { BrowserError } from "./browser.js";
2
+ import { LoadPageError } from "./load-page.js";
3
+ import { ViteRuntimeError } from "./vite-runtime.js";
4
+ export type ErrorOnRunRunnable = ViteRuntimeError | BrowserError | Error;
5
+ export type ErrorOnPageLoad = LoadPageError | ErrorOnRunRunnable;
6
+ export type ViteError = ErrorOnPageLoad | ErrorOnRunRunnable;
7
+ export declare const prepareError: (error: Error) => Error;
8
+ export declare const getErrorsOnPageLoad: (initError?: Error) => ErrorOnPageLoad[];
9
+ export declare const getErrorsOnRunRunnable: (runnableError?: Error) => ViteError[];
10
+ export { BrowserError, LoadPageError, ViteRuntimeError };
@@ -0,0 +1,44 @@
1
+ import { BrowserError } from "./browser.js";
2
+ import { LoadPageError } from "./load-page.js";
3
+ import { ViteRuntimeError } from "./vite-runtime.js";
4
+ import { getSelectorTextFromShadowRoot } from "../utils/index.js";
5
+ import { DOCUMENT_TITLE, VITE_SELECTORS } from "../constants.js";
6
+ const getLoadPageErrors = () => {
7
+ if (document.title === DOCUMENT_TITLE && window.__testplane__) {
8
+ return [];
9
+ }
10
+ return [LoadPageError.create()];
11
+ };
12
+ // TODO: use API from vite to get error in runtime (not existing right now)
13
+ const getViteRuntimeErrors = () => {
14
+ const viteErrorElem = document.querySelector(VITE_SELECTORS.overlay);
15
+ if (!viteErrorElem || !viteErrorElem.shadowRoot) {
16
+ return [];
17
+ }
18
+ const shadowRoot = viteErrorElem.shadowRoot;
19
+ const message = getSelectorTextFromShadowRoot(VITE_SELECTORS.overlayMessage, shadowRoot);
20
+ const stack = getSelectorTextFromShadowRoot(VITE_SELECTORS.overlayStack, shadowRoot);
21
+ const file = getSelectorTextFromShadowRoot(VITE_SELECTORS.overlayFile, shadowRoot);
22
+ const frame = getSelectorTextFromShadowRoot(VITE_SELECTORS.overlayFrame, shadowRoot);
23
+ const tip = getSelectorTextFromShadowRoot(VITE_SELECTORS.overlayTip, shadowRoot);
24
+ return [ViteRuntimeError.create({ message, stack, file, frame, tip })];
25
+ };
26
+ const getBrowserErrors = () => {
27
+ return window.__testplane__.errors;
28
+ };
29
+ export const prepareError = (error) => {
30
+ // in order to correctly pass errors through websocket
31
+ return JSON.parse(JSON.stringify(error, Object.getOwnPropertyNames(error)));
32
+ };
33
+ const getErrors = (errors = []) => {
34
+ return [errors, getViteRuntimeErrors(), getBrowserErrors()].flat().filter(Boolean).map(prepareError);
35
+ };
36
+ export const getErrorsOnPageLoad = (initError) => {
37
+ const errors = new Array().concat(initError || [], getLoadPageErrors());
38
+ return getErrors(errors);
39
+ };
40
+ export const getErrorsOnRunRunnable = (runnableError) => {
41
+ return getErrors(runnableError);
42
+ };
43
+ export { BrowserError, LoadPageError, ViteRuntimeError };
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjE,MAAM,iBAAiB,GAAG,GAAoB,EAAE;IAC5C,IAAI,QAAQ,CAAC,KAAK,KAAK,cAAc,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,GAAuB,EAAE;IAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAErE,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;IAE5C,MAAM,OAAO,GAAG,6BAA6B,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,6BAA6B,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,6BAA6B,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,6BAA6B,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,6BAA6B,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjF,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAmB,EAAE;IAC1C,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAS,EAAE;IAChD,sDAAsD;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,SAAkC,EAAE,EAAe,EAAE;IACpE,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAqB,EAAE;IACxE,MAAM,MAAM,GAAG,IAAI,KAAK,EAAa,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEnF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAAqB,EAAe,EAAE;IACzE,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BaseError } from "./base.js";
2
+ interface LoadPageErrorData {
3
+ message?: string;
4
+ }
5
+ type BrowserErrorCtor<T> = new (opts?: LoadPageErrorData) => T;
6
+ export declare class LoadPageError extends BaseError {
7
+ static create<T extends LoadPageError>(this: BrowserErrorCtor<T>, opts?: LoadPageErrorData): T;
8
+ constructor({ message }?: LoadPageErrorData);
9
+ }
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import { BaseError } from "./base.js";
2
+ export class LoadPageError extends BaseError {
3
+ static create(opts) {
4
+ return new this(opts);
5
+ }
6
+ constructor({ message = "failed to load Vite test page" } = {}) {
7
+ super({ message });
8
+ }
9
+ }
10
+ //# sourceMappingURL=load-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-page.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/errors/load-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAQtC,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC,MAAM,CAAC,MAAM,CAAqD,IAAwB;QACtF,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,EAAE,OAAO,GAAG,+BAA+B,KAAwB,EAAE;QAC7E,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACvB,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import { BaseError } from "./base.js";
2
+ interface ViteRuntimeErrorData {
3
+ message: string;
4
+ stack: string;
5
+ file: string;
6
+ frame: string;
7
+ tip: string;
8
+ }
9
+ type ViteRuntimeErrorCtor<T> = new (opts: ViteRuntimeErrorData) => T;
10
+ export declare class ViteRuntimeError extends BaseError {
11
+ file: string;
12
+ frame: string;
13
+ tip: string;
14
+ static create<T extends ViteRuntimeError>(this: ViteRuntimeErrorCtor<T>, opts: ViteRuntimeErrorData): T;
15
+ constructor({ message, stack, file, frame, tip }: ViteRuntimeErrorData);
16
+ }
17
+ export {};
@@ -0,0 +1,17 @@
1
+ import { BaseError } from "./base.js";
2
+ export class ViteRuntimeError extends BaseError {
3
+ file;
4
+ frame;
5
+ tip;
6
+ static create(opts) {
7
+ return new this(opts);
8
+ }
9
+ constructor({ message, stack, file, frame, tip }) {
10
+ super({ message });
11
+ this.stack = `${this.constructor.name}: ${this.message}\n${stack}`;
12
+ this.file = file;
13
+ this.frame = frame;
14
+ this.tip = tip;
15
+ }
16
+ }
17
+ //# sourceMappingURL=vite-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-runtime.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/errors/vite-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAYtC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC3C,IAAI,CAAS;IACb,KAAK,CAAS;IACd,GAAG,CAAS;IAEZ,MAAM,CAAC,MAAM,CAA4D,IAA0B;QAC/F,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAwB;QAClE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEnB,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ import { type Expect } from "expect";
2
+ export declare const initExpect: () => Expect;