@react-native-harness/cli 1.0.0 โ 1.1.0-rc.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.
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/wizard/bundleId.js +1 -1
- package/package.json +8 -8
- package/src/wizard/bundleId.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/bundlers/metro.d.ts +0 -5
- package/dist/bundlers/metro.d.ts.map +0 -1
- package/dist/bundlers/metro.js +0 -71
- package/dist/bundlers/webpack.d.ts +0 -2
- package/dist/bundlers/webpack.d.ts.map +0 -1
- package/dist/bundlers/webpack.js +0 -49
- package/dist/commands/test.d.ts +0 -3
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js +0 -140
- package/dist/discovery/index.d.ts +0 -3
- package/dist/discovery/index.d.ts.map +0 -1
- package/dist/discovery/index.js +0 -1
- package/dist/discovery/testDiscovery.d.ts +0 -11
- package/dist/discovery/testDiscovery.d.ts.map +0 -1
- package/dist/discovery/testDiscovery.js +0 -29
- package/dist/errors/appNotInstalledError.d.ts +0 -7
- package/dist/errors/appNotInstalledError.d.ts.map +0 -1
- package/dist/errors/appNotInstalledError.js +0 -12
- package/dist/errors/bridgeTimeoutError.d.ts +0 -7
- package/dist/errors/bridgeTimeoutError.d.ts.map +0 -1
- package/dist/errors/bridgeTimeoutError.js +0 -12
- package/dist/errors/errorHandler.d.ts +0 -2
- package/dist/errors/errorHandler.d.ts.map +0 -1
- package/dist/errors/errorHandler.js +0 -152
- package/dist/errors/errors.d.ts +0 -45
- package/dist/errors/errors.d.ts.map +0 -1
- package/dist/errors/errors.js +0 -89
- package/dist/jest.d.ts +0 -2
- package/dist/jest.d.ts.map +0 -1
- package/dist/jest.js +0 -7
- package/dist/platforms/android/build.d.ts +0 -5
- package/dist/platforms/android/build.d.ts.map +0 -1
- package/dist/platforms/android/build.js +0 -29
- package/dist/platforms/android/device.d.ts +0 -5
- package/dist/platforms/android/device.d.ts.map +0 -1
- package/dist/platforms/android/device.js +0 -36
- package/dist/platforms/android/emulator.d.ts +0 -10
- package/dist/platforms/android/emulator.d.ts.map +0 -1
- package/dist/platforms/android/emulator.js +0 -116
- package/dist/platforms/android/index.d.ts +0 -4
- package/dist/platforms/android/index.d.ts.map +0 -1
- package/dist/platforms/android/index.js +0 -56
- package/dist/platforms/ios/build.d.ts +0 -7
- package/dist/platforms/ios/build.d.ts.map +0 -1
- package/dist/platforms/ios/build.js +0 -48
- package/dist/platforms/ios/device.d.ts +0 -11
- package/dist/platforms/ios/device.d.ts.map +0 -1
- package/dist/platforms/ios/device.js +0 -51
- package/dist/platforms/ios/index.d.ts +0 -4
- package/dist/platforms/ios/index.d.ts.map +0 -1
- package/dist/platforms/ios/index.js +0 -43
- package/dist/platforms/ios/simulator.d.ts +0 -11
- package/dist/platforms/ios/simulator.d.ts.map +0 -1
- package/dist/platforms/ios/simulator.js +0 -129
- package/dist/platforms/platform-adapter.d.ts +0 -10
- package/dist/platforms/platform-adapter.d.ts.map +0 -1
- package/dist/platforms/platform-adapter.js +0 -1
- package/dist/platforms/platform-registry.d.ts +0 -3
- package/dist/platforms/platform-registry.d.ts.map +0 -1
- package/dist/platforms/platform-registry.js +0 -21
- package/dist/platforms/vega/build.d.ts +0 -23
- package/dist/platforms/vega/build.d.ts.map +0 -1
- package/dist/platforms/vega/build.js +0 -55
- package/dist/platforms/vega/device.d.ts +0 -57
- package/dist/platforms/vega/device.d.ts.map +0 -1
- package/dist/platforms/vega/device.js +0 -206
- package/dist/platforms/vega/index.d.ts +0 -4
- package/dist/platforms/vega/index.d.ts.map +0 -1
- package/dist/platforms/vega/index.js +0 -75
- package/dist/platforms/web/index.d.ts +0 -4
- package/dist/platforms/web/index.d.ts.map +0 -1
- package/dist/platforms/web/index.js +0 -9
- package/dist/process.d.ts +0 -3
- package/dist/process.d.ts.map +0 -1
- package/dist/process.js +0 -28
- package/dist/reporters/default-reporter.d.ts +0 -3
- package/dist/reporters/default-reporter.d.ts.map +0 -1
- package/dist/reporters/default-reporter.js +0 -116
- package/dist/reporters/junit-reporter.d.ts +0 -3
- package/dist/reporters/junit-reporter.d.ts.map +0 -1
- package/dist/reporters/junit-reporter.js +0 -119
- package/dist/reporters/live-reporter.d.ts +0 -20
- package/dist/reporters/live-reporter.d.ts.map +0 -1
- package/dist/reporters/live-reporter.js +0 -176
- package/dist/src/reporters/default-reporter.js +0 -135
- package/dist/test-reporter-demo.js +0 -95
- package/dist/utils/status-formatter.d.ts +0 -27
- package/dist/utils/status-formatter.d.ts.map +0 -1
- package/dist/utils/status-formatter.js +0 -54
- package/dist/utils.d.ts +0 -6
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -26
- package/dist/wizard/jestIntegration.d.ts +0 -2
- package/dist/wizard/jestIntegration.d.ts.map +0 -1
- package/dist/wizard/jestIntegration.js +0 -15
- package/dist/wizard/packageManager.d.ts +0 -2
- package/dist/wizard/packageManager.d.ts.map +0 -1
- package/dist/wizard/packageManager.js +0 -10
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { BridgeEvents } from '@react-native-harness/bridge';
|
|
2
|
-
/**
|
|
3
|
-
* Type-safe status line formatter for bridge events.
|
|
4
|
-
* This ensures every event type has a corresponding status message.
|
|
5
|
-
*
|
|
6
|
-
* When adding new events to BridgeEvents:
|
|
7
|
-
* 1. Add the event type to the appropriate events file in packages/bridge/src/shared/
|
|
8
|
-
* 2. Add a formatter function to the statusFormatter object below
|
|
9
|
-
* 3. TypeScript will enforce that all event types are covered
|
|
10
|
-
* 4. The formatter function receives the full event data for type safety
|
|
11
|
-
*/
|
|
12
|
-
export type StatusFormatter = {
|
|
13
|
-
[K in BridgeEvents['type']]: (event: Extract<BridgeEvents, {
|
|
14
|
-
type: K;
|
|
15
|
-
}>) => string;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Maps every bridge event to a concise, informative status line.
|
|
19
|
-
* Each formatter receives the full event data for type safety.
|
|
20
|
-
*/
|
|
21
|
-
export declare const statusFormatter: StatusFormatter;
|
|
22
|
-
/**
|
|
23
|
-
* Formats a bridge event into a status line.
|
|
24
|
-
* This function is type-safe and ensures all event types are handled.
|
|
25
|
-
*/
|
|
26
|
-
export declare const formatEventStatus: (event: BridgeEvents) => string;
|
|
27
|
-
//# sourceMappingURL=status-formatter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/status-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG;KAC3B,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAC3B,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KACtC,MAAM;CACZ,CAAC;AAcF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,eAkD7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,YAAY,KAAG,MAGvD,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
const formatDuration = (duration) => {
|
|
2
|
-
if (duration < 1000) {
|
|
3
|
-
return `${duration}ms`;
|
|
4
|
-
}
|
|
5
|
-
return `${(duration / 1000).toFixed(2)}s`;
|
|
6
|
-
};
|
|
7
|
-
const formatFileName = (file) => {
|
|
8
|
-
// Extract just the filename from the path for cleaner display
|
|
9
|
-
return file.split('/').pop() || file;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Maps every bridge event to a concise, informative status line.
|
|
13
|
-
* Each formatter receives the full event data for type safety.
|
|
14
|
-
*/
|
|
15
|
-
export const statusFormatter = {
|
|
16
|
-
// Test Collection Events
|
|
17
|
-
'collection-started': (event) => `๐ Collecting tests from ${formatFileName(event.file)}`,
|
|
18
|
-
'collection-finished': (event) => `โ
Collected tests from ${formatFileName(event.file)} (${formatDuration(event.duration)})`,
|
|
19
|
-
// Test Runner Events
|
|
20
|
-
'file-started': (event) => `๐งช Running tests in ${formatFileName(event.file)}`,
|
|
21
|
-
'file-finished': (event) => `โ
Finished ${formatFileName(event.file)} (${formatDuration(event.duration)})`,
|
|
22
|
-
'suite-started': (event) => `๐ฆ ${event.name}`,
|
|
23
|
-
'suite-finished': (event) => {
|
|
24
|
-
const icon = event.status === 'failed'
|
|
25
|
-
? 'โ'
|
|
26
|
-
: event.status === 'skipped'
|
|
27
|
-
? 'โญ๏ธ'
|
|
28
|
-
: 'โ
';
|
|
29
|
-
return `${icon} ${event.name} (${formatDuration(event.duration)})`;
|
|
30
|
-
},
|
|
31
|
-
'test-started': (event) => ` ๐ ${event.name}`,
|
|
32
|
-
'test-finished': (event) => {
|
|
33
|
-
const icon = event.status === 'failed'
|
|
34
|
-
? 'โ'
|
|
35
|
-
: event.status === 'skipped'
|
|
36
|
-
? 'โญ๏ธ'
|
|
37
|
-
: event.status === 'todo'
|
|
38
|
-
? '๐'
|
|
39
|
-
: 'โ
';
|
|
40
|
-
return ` ${icon} ${event.name} (${formatDuration(event.duration)})`;
|
|
41
|
-
},
|
|
42
|
-
// Bundler Events
|
|
43
|
-
'module-bundling-started': (event) => `๐ฆ Bundling ${formatFileName(event.file)}`,
|
|
44
|
-
'module-bundling-finished': (event) => `โ
Bundled ${formatFileName(event.file)} (${formatDuration(event.duration)})`,
|
|
45
|
-
'module-bundling-failed': (event) => `โ Failed to bundle ${formatFileName(event.file)} (${formatDuration(event.duration)})`,
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Formats a bridge event into a status line.
|
|
49
|
-
* This function is type-safe and ensures all event types are handled.
|
|
50
|
-
*/
|
|
51
|
-
export const formatEventStatus = (event) => {
|
|
52
|
-
// TypeScript ensures this covers all event types
|
|
53
|
-
return statusFormatter[event.type](event);
|
|
54
|
-
};
|
package/dist/utils.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function assert(condition: boolean, message: string): asserts condition;
|
|
2
|
-
export declare class AssertionError extends Error {
|
|
3
|
-
constructor(message: string);
|
|
4
|
-
}
|
|
5
|
-
export declare const isPortAvailable: (port: number) => Promise<boolean>;
|
|
6
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAI7E;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAa7D,CAAC"}
|
package/dist/utils.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import net from 'node:net';
|
|
2
|
-
export function assert(condition, message) {
|
|
3
|
-
if (!condition) {
|
|
4
|
-
throw new AssertionError(message);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export class AssertionError extends Error {
|
|
8
|
-
constructor(message) {
|
|
9
|
-
super(message);
|
|
10
|
-
this.name = 'AssertionError';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export const isPortAvailable = (port) => {
|
|
14
|
-
return new Promise((resolve) => {
|
|
15
|
-
const server = net.createServer();
|
|
16
|
-
server.once('error', () => {
|
|
17
|
-
server.close();
|
|
18
|
-
resolve(false);
|
|
19
|
-
});
|
|
20
|
-
server.once('listening', () => {
|
|
21
|
-
server.close();
|
|
22
|
-
resolve(true);
|
|
23
|
-
});
|
|
24
|
-
server.listen(port);
|
|
25
|
-
});
|
|
26
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jestIntegration.d.ts","sourceRoot":"","sources":["../../src/wizard/jestIntegration.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB,YAgBpC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { note } from '@react-native-harness/tools';
|
|
2
|
-
export const showJestIntegrationNotes = () => {
|
|
3
|
-
note(`Update your jest.config.js to include the Harness project:
|
|
4
|
-
|
|
5
|
-
module.exports = {
|
|
6
|
-
projects: [
|
|
7
|
-
{
|
|
8
|
-
displayName: 'Harness',
|
|
9
|
-
preset: 'react-native-harness',
|
|
10
|
-
testMatch: ['<rootDir>/**/__tests__/**/*.harness.[jt]s?(x)'],
|
|
11
|
-
},
|
|
12
|
-
// ...your other projects
|
|
13
|
-
],
|
|
14
|
-
};`, 'Next Steps');
|
|
15
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packageManager.d.ts","sourceRoot":"","sources":["../../src/wizard/packageManager.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,+BAKhC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
export const detectPackageManager = () => {
|
|
4
|
-
const cwd = process.cwd();
|
|
5
|
-
if (fs.existsSync(path.join(cwd, 'pnpm-lock.yaml')))
|
|
6
|
-
return 'pnpm';
|
|
7
|
-
if (fs.existsSync(path.join(cwd, 'yarn.lock')))
|
|
8
|
-
return 'yarn';
|
|
9
|
-
return 'npm';
|
|
10
|
-
};
|