@react-native-harness/jest 1.0.0-alpha.17 → 1.0.0-alpha.18

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.
@@ -0,0 +1,12 @@
1
+ import { HarnessError } from '@react-native-harness/tools';
2
+ export declare class NoRunnerSpecifiedError extends HarnessError {
3
+ constructor();
4
+ }
5
+ export declare class RunnerNotFoundError extends HarnessError {
6
+ readonly runnerName: string;
7
+ constructor(runnerName: string);
8
+ }
9
+ export declare class InitializationTimeoutError extends HarnessError {
10
+ constructor();
11
+ }
12
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,qBAAa,sBAAuB,SAAQ,YAAY;;CAKvD;AAED,qBAAa,mBAAoB,SAAQ,YAAY;aACvB,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;CAI/C;AAED,qBAAa,0BAA2B,SAAQ,YAAY;;CAK3D"}
package/dist/errors.js ADDED
@@ -0,0 +1,21 @@
1
+ import { HarnessError } from '@react-native-harness/tools';
2
+ export class NoRunnerSpecifiedError extends HarnessError {
3
+ constructor() {
4
+ super('No runner specified');
5
+ this.name = 'NoRunnerSpecifiedError';
6
+ }
7
+ }
8
+ export class RunnerNotFoundError extends HarnessError {
9
+ runnerName;
10
+ constructor(runnerName) {
11
+ super(`Runner "${runnerName}" not found`);
12
+ this.runnerName = runnerName;
13
+ this.name = 'RunnerNotFoundError';
14
+ }
15
+ }
16
+ export class InitializationTimeoutError extends HarnessError {
17
+ constructor() {
18
+ super('The Harness did not become ready within the timeout period.');
19
+ this.name = 'InitializationTimeoutError';
20
+ }
21
+ }
@@ -0,0 +1,10 @@
1
+ import { BridgeClientFunctions } from '@react-native-harness/bridge';
2
+ import { HarnessPlatform } from '@react-native-harness/platforms';
3
+ import { Config as HarnessConfig } from '@react-native-harness/config';
4
+ export type Harness = {
5
+ runTests: BridgeClientFunctions['runTests'];
6
+ restart: () => Promise<void>;
7
+ dispose: () => Promise<void>;
8
+ };
9
+ export declare const getHarness: (config: HarnessConfig, platform: HarnessPlatform) => Promise<Harness>;
10
+ //# sourceMappingURL=harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAKvE,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AA0EF,eAAO,MAAM,UAAU,GACrB,QAAQ,aAAa,EACrB,UAAU,eAAe,KACxB,OAAO,CAAC,OAAO,CAajB,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { getBridgeServer } from '@react-native-harness/bridge/server';
2
+ import { getMetroInstance } from '@react-native-harness/bundler-metro';
3
+ import { InitializationTimeoutError } from './errors.js';
4
+ import pRetry from 'p-retry';
5
+ const BRIDGE_READY_TIMEOUT = 10000;
6
+ const getHarnessInternal = async (config, platform, signal) => {
7
+ const [metroInstance, platformInstance, serverBridge] = await Promise.all([
8
+ getMetroInstance(),
9
+ platform.getInstance(),
10
+ getBridgeServer({
11
+ port: 3001,
12
+ timeout: config.bridgeTimeout,
13
+ }),
14
+ ]);
15
+ const dispose = async () => {
16
+ await Promise.all([
17
+ serverBridge.dispose(),
18
+ platformInstance.dispose(),
19
+ metroInstance.dispose(),
20
+ ]);
21
+ };
22
+ if (signal.aborted) {
23
+ await dispose();
24
+ throw new DOMException('The operation was aborted', 'AbortError');
25
+ }
26
+ try {
27
+ await pRetry(() => new Promise((resolve, reject) => {
28
+ signal.addEventListener('abort', () => {
29
+ reject(new DOMException('The operation was aborted', 'AbortError'));
30
+ });
31
+ serverBridge.once('ready', () => resolve());
32
+ platformInstance.restartApp().catch(reject);
33
+ }), {
34
+ minTimeout: BRIDGE_READY_TIMEOUT,
35
+ maxTimeout: BRIDGE_READY_TIMEOUT,
36
+ retries: Infinity,
37
+ signal,
38
+ });
39
+ }
40
+ catch (error) {
41
+ await dispose();
42
+ throw error;
43
+ }
44
+ const restart = () => new Promise((resolve, reject) => {
45
+ serverBridge.once('ready', () => resolve());
46
+ platformInstance.restartApp().catch(reject);
47
+ });
48
+ return {
49
+ runTests: async (path, options) => {
50
+ const client = serverBridge.rpc.clients.at(-1);
51
+ if (!client) {
52
+ throw new Error('No client found');
53
+ }
54
+ return await client.runTests(path, options);
55
+ },
56
+ restart,
57
+ dispose,
58
+ };
59
+ };
60
+ export const getHarness = async (config, platform) => {
61
+ const abortSignal = AbortSignal.timeout(config.bridgeTimeout);
62
+ try {
63
+ const harness = await getHarnessInternal(config, platform, abortSignal);
64
+ return harness;
65
+ }
66
+ catch (error) {
67
+ if (error instanceof DOMException && error.name === 'AbortError') {
68
+ throw new InitializationTimeoutError();
69
+ }
70
+ throw error;
71
+ }
72
+ };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { CallbackTestRunnerInterface, Config, OnTestFailure, OnTestStart, OnTestSuccess, Test, TestRunnerOptions, TestWatcher } from 'jest-runner';
2
2
  import { Config as HarnessConfig } from '@react-native-harness/config';
3
- import { type Harness } from '@react-native-harness/cli/external';
3
+ import { type Harness } from './harness.js';
4
4
  export default class JestHarness implements CallbackTestRunnerInterface {
5
5
  #private;
6
6
  readonly isSerial = true;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,EACb,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAW/E,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,2BAA2B;;IACrE,QAAQ,CAAC,QAAQ,QAAQ;gBAIb,YAAY,EAAE,MAAM,CAAC,YAAY;IAIvC,QAAQ,CACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IA8BV,oBAAoB,CACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC;CAuCjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,EACb,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAc5C,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,2BAA2B;;IACrE,QAAQ,CAAC,QAAQ,QAAQ;gBAIb,YAAY,EAAE,MAAM,CAAC,YAAY;IAIvC,QAAQ,CACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAkCV,oBAAoB,CACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC;CA+CjB"}
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import pLimit from 'p-limit';
2
2
  import { runHarnessTestFile } from './run.js';
3
- import { formatError } from '@react-native-harness/cli/external';
4
3
  import { setup } from './setup.js';
5
4
  import { teardown } from './teardown.js';
5
+ import { HarnessError } from '@react-native-harness/tools';
6
+ import { getErrorMessage } from './logs.js';
7
+ import { DeviceNotRespondingError } from '@react-native-harness/bridge';
6
8
  class CancelRun extends Error {
7
9
  constructor(message) {
8
10
  super(message);
@@ -27,8 +29,11 @@ export default class JestHarness {
27
29
  return await this._createInBandTestRun(tests, watcher, harness, harnessConfig, onStart, onResult, onFailure);
28
30
  }
29
31
  catch (error) {
30
- // Jest will print strings as they are, without processing them further.
31
- throw formatError(error);
32
+ if (error instanceof HarnessError) {
33
+ // Jest will print strings as they are, without processing them further.
34
+ throw getErrorMessage(error);
35
+ }
36
+ throw error;
32
37
  }
33
38
  finally {
34
39
  // This is necessary as Harness may throw and we want to catch it and display a helpful error message.
@@ -45,10 +50,7 @@ export default class JestHarness {
45
50
  }
46
51
  if (harnessConfig.resetEnvironmentBetweenTestFiles &&
47
52
  !isFirstTest) {
48
- await new Promise((resolve) => {
49
- harness.bridge.once('ready', resolve);
50
- harness.environment.restart();
51
- });
53
+ await harness.restart();
52
54
  }
53
55
  isFirstTest = false;
54
56
  return onStart(test).then(() => runHarnessTestFile({
@@ -59,6 +61,15 @@ export default class JestHarness {
59
61
  }));
60
62
  })
61
63
  .then((result) => onResult(test, result))
62
- .catch((err) => onFailure(test, err))), Promise.resolve());
64
+ .catch((err) => {
65
+ if (err instanceof DeviceNotRespondingError) {
66
+ onFailure(test, {
67
+ message: err.message,
68
+ stack: '',
69
+ });
70
+ return;
71
+ }
72
+ onFailure(test, err);
73
+ })), Promise.resolve());
63
74
  }
64
75
  }
package/dist/logs.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- import { TestRunnerConfig } from '@react-native-harness/config';
1
+ import { HarnessPlatform } from '@react-native-harness/platforms';
2
+ import { HarnessError } from '@react-native-harness/tools';
2
3
  export declare const log: (message: string) => void;
3
- export declare const logTestRunHeader: (runner: TestRunnerConfig) => void;
4
- export declare const logTestEnvironmentReady: (runner: TestRunnerConfig) => void;
4
+ export declare const logTestRunHeader: (runner: HarnessPlatform) => void;
5
+ export declare const logTestEnvironmentReady: (runner: HarnessPlatform) => void;
6
+ export declare const getErrorMessage: (error: HarnessError) => string;
5
7
  //# sourceMappingURL=logs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAQhE,eAAO,MAAM,GAAG,GAAI,SAAS,MAAM,KAAG,IAErC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,gBAAgB,KAAG,IAI3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,gBAAgB,KAAG,IAElE,CAAC"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAY3D,eAAO,MAAM,GAAG,GAAI,SAAS,MAAM,KAAG,IAErC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,eAAe,KAAG,IAI1D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,eAAe,KAAG,IAEjE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,YAAY,KAAG,MAErD,CAAC"}
package/dist/logs.js CHANGED
@@ -2,6 +2,9 @@ import chalk from 'chalk';
2
2
  const TAG = chalk.supportsColor
3
3
  ? chalk.reset.inverse.bold.magenta(` HARNESS `)
4
4
  : 'HARNESS';
5
+ const ERROR_TAG = chalk.supportsColor
6
+ ? chalk.reset.inverse.bold.red(` HARNESS `)
7
+ : 'HARNESS';
5
8
  // @see https://github.com/jestjs/jest/blob/main/packages/jest-reporters/src/BaseReporter.ts#L25
6
9
  export const log = (message) => {
7
10
  process.stderr.write(`${message}\n`);
@@ -12,3 +15,6 @@ export const logTestRunHeader = (runner) => {
12
15
  export const logTestEnvironmentReady = (runner) => {
13
16
  log(`${TAG} Runner ${chalk.bold(runner.name)} ready\n`);
14
17
  };
18
+ export const getErrorMessage = (error) => {
19
+ return `${ERROR_TAG} ${error.message}\n`;
20
+ };
package/dist/run.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Config as JestConfig } from 'jest-runner';
2
2
  import { TestResult as JestTestResult } from '@jest/test-result';
3
- import type { Harness } from '@react-native-harness/cli/external';
3
+ import type { Harness } from './harness.js';
4
4
  export type RunHarnessTestFile = (options: {
5
5
  testPath: string;
6
6
  harness: Harness;
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAuDlE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC;IACxC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC;CACvC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9B,eAAO,MAAM,kBAAkB,EAAE,kBA6EhC,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAuD5C,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC;IACxC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC;CACvC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9B,eAAO,MAAM,kBAAkB,EAAE,kBA4EhC,CAAC"}
package/dist/run.js CHANGED
@@ -48,8 +48,7 @@ export const runHarnessTestFile = async ({ testPath, globalConfig, projectConfig
48
48
  // Extract setup files from Jest config and convert to relative paths
49
49
  const setupFiles = projectConfig.setupFiles?.map((setupFile) => path.relative(globalConfig.rootDir, setupFile));
50
50
  const setupFilesAfterEnv = projectConfig.setupFilesAfterEnv?.map((setupFile) => path.relative(globalConfig.rootDir, setupFile));
51
- const client = harness.bridge.rpc.clients.at(-1);
52
- const results = await client.runTests(relativeTestPath, {
51
+ const results = await harness.runTests(relativeTestPath, {
53
52
  testNamePattern: globalConfig.testNamePattern,
54
53
  setupFiles,
55
54
  setupFilesAfterEnv,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AA4CxD,eAAO,MAAM,KAAK,GAAU,cAAc,UAAU,CAAC,YAAY,kBA4ChE,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAqCxD,eAAO,MAAM,KAAK,GAAU,cAAc,UAAU,CAAC,YAAY,kBAqChE,CAAC"}
package/dist/setup.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { getConfig, } from '@react-native-harness/config';
2
- import { getHarness as getHarnessExternal, NoRunnerSpecifiedError, RunnerNotFoundError, } from '@react-native-harness/cli/external';
2
+ import { getHarness } from './harness.js';
3
3
  import { preRunMessage } from 'jest-util';
4
4
  import { getAdditionalCliArgs } from './cli-args.js';
5
5
  import { logTestEnvironmentReady, logTestRunHeader } from './logs.js';
6
+ import { NoRunnerSpecifiedError, RunnerNotFoundError } from './errors.js';
6
7
  const getHarnessConfig = async (globalConfig) => {
7
8
  const projectRoot = globalConfig.rootDir;
8
9
  const { config: harnessConfig } = await getConfig(projectRoot);
@@ -11,40 +12,30 @@ const getHarnessConfig = async (globalConfig) => {
11
12
  const getHarnessRunner = (config, cliArgs) => {
12
13
  const selectedRunnerName = cliArgs.harnessRunner ?? config.defaultRunner;
13
14
  if (!selectedRunnerName) {
14
- throw new NoRunnerSpecifiedError(config.runners);
15
+ throw new NoRunnerSpecifiedError();
15
16
  }
16
17
  const runner = config.runners.find((runner) => runner.name === selectedRunnerName);
17
18
  if (!runner) {
18
- throw new RunnerNotFoundError(selectedRunnerName, config.runners);
19
+ throw new RunnerNotFoundError(selectedRunnerName);
19
20
  }
20
21
  return runner;
21
22
  };
22
- const getHarness = async (runner) => {
23
- return await getHarnessExternal(runner);
24
- };
25
23
  export const setup = async (globalConfig) => {
26
24
  preRunMessage.remove(process.stderr);
27
25
  const harnessConfig = global.HARNESS_CONFIG ?? (await getHarnessConfig(globalConfig));
28
- const isWatchMode = globalConfig.watch || globalConfig.watchAll;
29
26
  if (global.HARNESS) {
30
27
  // Do not setup again if HARNESS is already initialized
31
28
  // This is useful when running tests in watch mode
32
29
  if (harnessConfig.resetEnvironmentBetweenTestFiles) {
33
30
  // In watch mode, we want to restart the environment before each test run
34
- await new Promise((resolve) => {
35
- global.HARNESS.bridge.once('ready', resolve);
36
- global.HARNESS.environment.restart();
37
- });
31
+ await global.HARNESS.restart();
38
32
  }
39
33
  return;
40
34
  }
41
- if (isWatchMode) {
42
- // In watch mode, we want to dispose the Harness when the process exits.
43
- process.on('exit', async () => {
44
- await global.HARNESS.bridge.dispose();
45
- await global.HARNESS.environment.dispose();
46
- });
47
- }
35
+ // Gracefully dispose the Harness when the process exits.
36
+ process.on('exit', async () => {
37
+ await global.HARNESS.dispose();
38
+ });
48
39
  const cliArgs = getAdditionalCliArgs();
49
40
  const selectedRunner = getHarnessRunner(harnessConfig, cliArgs);
50
41
  if (globalConfig.collectCoverage) {
@@ -53,7 +44,7 @@ export const setup = async (globalConfig) => {
53
44
  process.env.RN_HARNESS_COLLECT_COVERAGE = 'true';
54
45
  }
55
46
  logTestRunHeader(selectedRunner);
56
- const harness = await getHarness(selectedRunner);
47
+ const harness = await getHarness(harnessConfig, selectedRunner);
57
48
  logTestEnvironmentReady(selectedRunner);
58
49
  global.HARNESS_CONFIG = harnessConfig;
59
50
  global.HARNESS = harness;
@@ -1 +1 @@
1
- {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../src/teardown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,QAAQ,GAAU,cAAc,UAAU,CAAC,YAAY,kBAYnE,CAAC"}
1
+ {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../src/teardown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAExD,eAAO,MAAM,QAAQ,GAAU,cAAc,UAAU,CAAC,YAAY,kBAWnE,CAAC"}
package/dist/teardown.js CHANGED
@@ -5,7 +5,6 @@ export const teardown = async (globalConfig) => {
5
5
  return;
6
6
  }
7
7
  if (global.HARNESS) {
8
- await global.HARNESS.bridge.dispose();
9
- await global.HARNESS.environment.dispose();
8
+ await global.HARNESS.dispose();
10
9
  }
11
10
  };