@react-native-harness/jest 1.4.1 → 1.5.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.
- package/dist/execute-run.d.ts.map +1 -1
- package/dist/execute-run.js +2 -1
- package/dist/harness-session.d.ts.map +1 -1
- package/dist/harness-session.js +74 -30
- package/dist/resource-lock.d.ts.map +1 -1
- package/dist/resource-lock.js +12 -2
- package/dist/toJestStatus.d.ts +4 -0
- package/dist/toJestStatus.d.ts.map +1 -0
- package/dist/toJestStatus.js +2 -0
- package/dist/toTestResult.d.ts +3 -2
- package/dist/toTestResult.d.ts.map +1 -1
- package/dist/toTestResult.js +2 -1
- package/package.json +8 -8
- package/src/execute-run.ts +2 -1
- package/src/harness-session.ts +86 -27
- package/src/resource-lock.ts +15 -2
- package/src/toJestStatus.ts +6 -0
- package/src/toTestResult.ts +5 -3
- package/dist/crash-supervisor.d.ts +0 -21
- package/dist/crash-supervisor.d.ts.map +0 -1
- package/dist/crash-supervisor.js +0 -210
- package/dist/event-mapper.d.ts +0 -16
- package/dist/event-mapper.d.ts.map +0 -1
- package/dist/event-mapper.js +0 -120
- package/dist/global-setup.d.ts +0 -3
- package/dist/global-setup.d.ts.map +0 -1
- package/dist/global-setup.js +0 -60
- package/dist/global-teardown.d.ts +0 -3
- package/dist/global-teardown.d.ts.map +0 -1
- package/dist/global-teardown.js +0 -11
- package/dist/harness-reporter.d.ts +0 -8
- package/dist/harness-reporter.d.ts.map +0 -1
- package/dist/harness-reporter.js +0 -12
- package/dist/harness.d.ts +0 -47
- package/dist/harness.d.ts.map +0 -1
- package/dist/harness.js +0 -619
- package/dist/jest-options.d.ts +0 -2
- package/dist/jest-options.d.ts.map +0 -1
- package/dist/jest-options.js +0 -1
- package/dist/setup.d.ts +0 -3
- package/dist/setup.d.ts.map +0 -1
- package/dist/setup.js +0 -80
- package/dist/teardown.d.ts +0 -3
- package/dist/teardown.d.ts.map +0 -1
- package/dist/teardown.js +0 -10
- package/dist/types.d.ts +0 -17
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
package/dist/setup.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { getConfig, ConfigSchema, } from '@react-native-harness/config';
|
|
2
|
-
import { getHarness } from './harness.js';
|
|
3
|
-
import { preRunMessage } from 'jest-util';
|
|
4
|
-
import { getAdditionalCliArgs } from './cli-args.js';
|
|
5
|
-
import { logTestEnvironmentReady, logTestRunHeader } from './logs.js';
|
|
6
|
-
import { NoRunnerSpecifiedError, RunnerNotFoundError } from './errors.js';
|
|
7
|
-
import { logger } from '@react-native-harness/tools';
|
|
8
|
-
import { createActionHooksPlugin } from './action-hooks.js';
|
|
9
|
-
const setupLogger = logger.child('setup');
|
|
10
|
-
const getHarnessConfig = async (globalConfig) => {
|
|
11
|
-
const projectRoot = globalConfig.rootDir;
|
|
12
|
-
setupLogger.debug('loading Harness config from %s', projectRoot);
|
|
13
|
-
const { config: harnessConfig } = await getConfig(projectRoot);
|
|
14
|
-
setupLogger.debug('loaded Harness config');
|
|
15
|
-
return harnessConfig;
|
|
16
|
-
};
|
|
17
|
-
const getHarnessRunner = (config, cliArgs) => {
|
|
18
|
-
const selectedRunnerName = cliArgs.harnessRunner ?? config.defaultRunner;
|
|
19
|
-
if (!selectedRunnerName) {
|
|
20
|
-
throw new NoRunnerSpecifiedError();
|
|
21
|
-
}
|
|
22
|
-
const runner = config.runners.find((runner) => runner.name === selectedRunnerName);
|
|
23
|
-
if (!runner) {
|
|
24
|
-
throw new RunnerNotFoundError(selectedRunnerName);
|
|
25
|
-
}
|
|
26
|
-
setupLogger.debug('selected runner %s (%s)', runner.name, runner.platformId);
|
|
27
|
-
return runner;
|
|
28
|
-
};
|
|
29
|
-
export const setup = async (globalConfig) => {
|
|
30
|
-
preRunMessage.remove(process.stderr);
|
|
31
|
-
let harnessConfig = global.HARNESS_CONFIG ?? (await getHarnessConfig(globalConfig));
|
|
32
|
-
if (global.HARNESS) {
|
|
33
|
-
// Do not setup again if HARNESS is already initialized
|
|
34
|
-
// This is useful when running tests in watch mode
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
// Gracefully dispose the Harness when the process exits.
|
|
38
|
-
process.on('exit', async () => {
|
|
39
|
-
await global.HARNESS.dispose();
|
|
40
|
-
});
|
|
41
|
-
const cliArgs = getAdditionalCliArgs();
|
|
42
|
-
if (cliArgs.metroPort != null) {
|
|
43
|
-
setupLogger.debug('applying CLI metro port override: %d', cliArgs.metroPort);
|
|
44
|
-
harnessConfig = ConfigSchema.parse({
|
|
45
|
-
...harnessConfig,
|
|
46
|
-
metroPort: cliArgs.metroPort,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (process.env.PRE_RUN_HOOK || process.env.AFTER_RUN_HOOK) {
|
|
50
|
-
harnessConfig = ConfigSchema.parse({
|
|
51
|
-
...harnessConfig,
|
|
52
|
-
plugins: [...(harnessConfig.plugins ?? []), createActionHooksPlugin()],
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
const selectedRunner = getHarnessRunner(harnessConfig, cliArgs);
|
|
56
|
-
if (harnessConfig.webSocketPort != null &&
|
|
57
|
-
harnessConfig.webSocketPort !== harnessConfig.metroPort) {
|
|
58
|
-
logger.warn(`Config option "webSocketPort" is deprecated and ignored. Harness now uses metroPort (${harnessConfig.metroPort}) for bridge traffic.`);
|
|
59
|
-
}
|
|
60
|
-
if (globalConfig.collectCoverage) {
|
|
61
|
-
// This is going to be used by @react-native-harness/babel-preset
|
|
62
|
-
// to enable instrumentation of test files.
|
|
63
|
-
process.env.RN_HARNESS_COLLECT_COVERAGE = 'true';
|
|
64
|
-
if (harnessConfig.coverage?.root) {
|
|
65
|
-
process.env.RN_HARNESS_COVERAGE_ROOT = harnessConfig.coverage.root;
|
|
66
|
-
}
|
|
67
|
-
setupLogger.debug('coverage enabled for this run');
|
|
68
|
-
}
|
|
69
|
-
if (harnessConfig.disableViewFlattening) {
|
|
70
|
-
process.env.RN_HARNESS_VIEW_FLATTENING = 'false';
|
|
71
|
-
setupLogger.debug('view flattening disabled for runtime');
|
|
72
|
-
}
|
|
73
|
-
logTestRunHeader(selectedRunner);
|
|
74
|
-
setupLogger.debug('creating Harness instance');
|
|
75
|
-
const harness = await getHarness(harnessConfig, selectedRunner, globalConfig.rootDir);
|
|
76
|
-
logTestEnvironmentReady(selectedRunner);
|
|
77
|
-
setupLogger.debug('Harness instance is ready');
|
|
78
|
-
global.HARNESS_CONFIG = harness.config;
|
|
79
|
-
global.HARNESS = harness;
|
|
80
|
-
};
|
package/dist/teardown.d.ts
DELETED
package/dist/teardown.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const teardown = async (globalConfig) => {
|
|
2
|
-
const isWatchMode = globalConfig.watch || globalConfig.watchAll;
|
|
3
|
-
if (isWatchMode) {
|
|
4
|
-
// In watch mode, we don't want to dispose the Harness.
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
if (global.HARNESS) {
|
|
8
|
-
await global.HARNESS.dispose();
|
|
9
|
-
}
|
|
10
|
-
};
|
package/dist/types.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { TestContext, TestResult } from '@jest/test-result';
|
|
2
|
-
import type { Config, TestRunnerOptions } from 'jest-runner';
|
|
3
|
-
import type { CustomEnvironment } from '@react-native-harness/cli';
|
|
4
|
-
export type RunTestOptions<ExtraOptions extends Record<string, unknown> = Record<string, unknown>> = {
|
|
5
|
-
config: Config.ProjectConfig;
|
|
6
|
-
extraOptions: ExtraOptions;
|
|
7
|
-
globalConfig: Config.GlobalConfig;
|
|
8
|
-
rawModuleMap: ReturnType<TestContext['moduleMap']['getRawModuleMap']> | null;
|
|
9
|
-
options: TestRunnerOptions;
|
|
10
|
-
testPath: string;
|
|
11
|
-
};
|
|
12
|
-
export type RunTest<ExtraOptions extends Record<string, unknown> = Record<string, unknown>> = (options: RunTestOptions<ExtraOptions>, environment: CustomEnvironment) => TestResult | Promise<TestResult>;
|
|
13
|
-
export interface TestDetail {
|
|
14
|
-
title: string;
|
|
15
|
-
path: string;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,MAAM,cAAc,CACxB,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACpE;IACF,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;IAClC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7E,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,CACjB,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACpE,CACF,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,EACrC,WAAW,EAAE,iBAAiB,KAC3B,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
|
package/dist/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|