@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.
Files changed (48) hide show
  1. package/dist/execute-run.d.ts.map +1 -1
  2. package/dist/execute-run.js +2 -1
  3. package/dist/harness-session.d.ts.map +1 -1
  4. package/dist/harness-session.js +74 -30
  5. package/dist/resource-lock.d.ts.map +1 -1
  6. package/dist/resource-lock.js +12 -2
  7. package/dist/toJestStatus.d.ts +4 -0
  8. package/dist/toJestStatus.d.ts.map +1 -0
  9. package/dist/toJestStatus.js +2 -0
  10. package/dist/toTestResult.d.ts +3 -2
  11. package/dist/toTestResult.d.ts.map +1 -1
  12. package/dist/toTestResult.js +2 -1
  13. package/package.json +8 -8
  14. package/src/execute-run.ts +2 -1
  15. package/src/harness-session.ts +86 -27
  16. package/src/resource-lock.ts +15 -2
  17. package/src/toJestStatus.ts +6 -0
  18. package/src/toTestResult.ts +5 -3
  19. package/dist/crash-supervisor.d.ts +0 -21
  20. package/dist/crash-supervisor.d.ts.map +0 -1
  21. package/dist/crash-supervisor.js +0 -210
  22. package/dist/event-mapper.d.ts +0 -16
  23. package/dist/event-mapper.d.ts.map +0 -1
  24. package/dist/event-mapper.js +0 -120
  25. package/dist/global-setup.d.ts +0 -3
  26. package/dist/global-setup.d.ts.map +0 -1
  27. package/dist/global-setup.js +0 -60
  28. package/dist/global-teardown.d.ts +0 -3
  29. package/dist/global-teardown.d.ts.map +0 -1
  30. package/dist/global-teardown.js +0 -11
  31. package/dist/harness-reporter.d.ts +0 -8
  32. package/dist/harness-reporter.d.ts.map +0 -1
  33. package/dist/harness-reporter.js +0 -12
  34. package/dist/harness.d.ts +0 -47
  35. package/dist/harness.d.ts.map +0 -1
  36. package/dist/harness.js +0 -619
  37. package/dist/jest-options.d.ts +0 -2
  38. package/dist/jest-options.d.ts.map +0 -1
  39. package/dist/jest-options.js +0 -1
  40. package/dist/setup.d.ts +0 -3
  41. package/dist/setup.d.ts.map +0 -1
  42. package/dist/setup.js +0 -80
  43. package/dist/teardown.d.ts +0 -3
  44. package/dist/teardown.d.ts.map +0 -1
  45. package/dist/teardown.js +0 -10
  46. package/dist/types.d.ts +0 -17
  47. package/dist/types.d.ts.map +0 -1
  48. 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
- };
@@ -1,3 +0,0 @@
1
- import type { Config as JestConfig } from 'jest-runner';
2
- export declare const teardown: (globalConfig: JestConfig.GlobalConfig) => Promise<void>;
3
- //# sourceMappingURL=teardown.d.ts.map
@@ -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
@@ -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 {};