@react-native-harness/runtime 1.0.0-alpha.23 → 1.0.0-alpha.25
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/client/getDeviceDescriptor.d.ts +1 -1
- package/dist/client/getDeviceDescriptor.d.ts.map +1 -1
- package/dist/client/getDeviceDescriptor.js +8 -0
- package/dist/disableHMRWhenReady.d.ts.map +1 -1
- package/dist/disableHMRWhenReady.js +6 -0
- package/dist/entry-point.js +8 -2
- package/dist/globals.d.ts +1 -0
- package/dist/globals.d.ts.map +1 -1
- package/dist/jsx/jsx-dev-runtime.d.ts +3 -0
- package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-dev-runtime.js +11 -0
- package/dist/jsx/jsx-runtime.d.ts +4 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-runtime.js +19 -0
- package/dist/symbolicate.d.ts +14 -0
- package/dist/symbolicate.d.ts.map +1 -1
- package/dist/symbolicate.js +12 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/dev-server.d.ts.map +1 -1
- package/dist/utils/dev-server.js +5 -0
- package/dist/utils/hmr.d.ts +2 -0
- package/dist/utils/hmr.d.ts.map +1 -0
- package/dist/utils/hmr.js +3 -0
- package/dist/utils/parse-error-stack.d.ts +9 -0
- package/dist/utils/parse-error-stack.d.ts.map +1 -0
- package/dist/utils/parse-error-stack.js +56 -0
- package/out-tsc/vitest/src/client/getDeviceDescriptor.d.ts +1 -1
- package/out-tsc/vitest/src/client/getDeviceDescriptor.d.ts.map +1 -1
- package/out-tsc/vitest/src/disableHMRWhenReady.d.ts.map +1 -1
- package/out-tsc/vitest/src/expect/matchers/toMatchImageSnapshot.d.ts +0 -5
- package/out-tsc/vitest/src/expect/matchers/toMatchImageSnapshot.d.ts.map +1 -1
- package/out-tsc/vitest/src/globals.d.ts +10 -0
- package/out-tsc/vitest/src/globals.d.ts.map +1 -1
- package/out-tsc/vitest/src/index.d.ts +1 -1
- package/out-tsc/vitest/src/index.d.ts.map +1 -1
- package/out-tsc/vitest/src/render/TestComponentOverlay.d.ts.map +1 -1
- package/out-tsc/vitest/src/render/index.d.ts.map +1 -1
- package/out-tsc/vitest/src/symbolicate.d.ts +14 -0
- package/out-tsc/vitest/src/symbolicate.d.ts.map +1 -1
- package/out-tsc/vitest/src/utils/dev-server.d.ts.map +1 -1
- package/out-tsc/vitest/tsconfig.spec.tsbuildinfo +1 -1
- package/package.json +13 -5
- package/src/client/getDeviceDescriptor.ts +10 -1
- package/src/disableHMRWhenReady.ts +8 -0
- package/src/entry-point.ts +10 -5
- package/src/globals.ts +1 -0
- package/src/jsx/jsx-dev-runtime.ts +29 -0
- package/src/jsx/jsx-runtime.ts +38 -0
- package/src/react-native.d.ts +0 -27
- package/src/symbolicate.ts +35 -4
- package/src/utils/dev-server.ts +7 -0
- package/tsconfig.lib.json +2 -1
- package/src/__tests__/initialize.test.ts +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeviceDescriptor.d.ts","sourceRoot":"","sources":["../../src/client/getDeviceDescriptor.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"getDeviceDescriptor.d.ts","sourceRoot":"","sources":["../../src/client/getDeviceDescriptor.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,gBAwCtC,CAAC"}
|
|
@@ -4,6 +4,14 @@ const getPlatform = () => {
|
|
|
4
4
|
};
|
|
5
5
|
export const getDeviceDescriptor = () => {
|
|
6
6
|
const platform = getPlatform();
|
|
7
|
+
if (platform.OS === 'web') {
|
|
8
|
+
return {
|
|
9
|
+
platform: 'web',
|
|
10
|
+
manufacturer: '',
|
|
11
|
+
model: '',
|
|
12
|
+
osVersion: '',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
7
15
|
if (platform.OS === 'ios') {
|
|
8
16
|
return {
|
|
9
17
|
platform: 'ios',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disableHMRWhenReady.d.ts","sourceRoot":"","sources":["../src/disableHMRWhenReady.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"disableHMRWhenReady.d.ts","sourceRoot":"","sources":["../src/disableHMRWhenReady.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,SAAK,iBA6BhB"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { Platform } from "react-native";
|
|
1
2
|
export function disableHMRWhenReady(disable, retriesLeft, retryDelay = 10) {
|
|
2
3
|
return new Promise((resolve, reject) => {
|
|
4
|
+
if (Platform.OS === 'web') {
|
|
5
|
+
// No HMR on web
|
|
6
|
+
resolve();
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
3
9
|
function attempt(remaining) {
|
|
4
10
|
try {
|
|
5
11
|
disable();
|
package/dist/entry-point.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import { AppRegistry } from 'react-native';
|
|
1
|
+
import { AppRegistry, Platform } from 'react-native';
|
|
2
2
|
import { getHarnessGlobal } from './globals.js';
|
|
3
3
|
import { UI } from './ui/index.js';
|
|
4
|
-
|
|
4
|
+
const componentName = getHarnessGlobal().appRegistryComponentName;
|
|
5
|
+
AppRegistry.registerComponent(componentName, () => UI);
|
|
6
|
+
if (Platform.OS === 'web') {
|
|
7
|
+
AppRegistry.runApplication(componentName, {
|
|
8
|
+
rootTag: document.getElementById('root'),
|
|
9
|
+
});
|
|
10
|
+
}
|
package/dist/globals.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ImageSnapshotOptions } from '@react-native-harness/bridge';
|
|
|
2
2
|
export type HarnessGlobal = {
|
|
3
3
|
appRegistryComponentName: string;
|
|
4
4
|
webSocketPort?: number;
|
|
5
|
+
disableViewFlattening?: boolean;
|
|
5
6
|
};
|
|
6
7
|
declare global {
|
|
7
8
|
var RN_HARNESS: HarnessGlobal | undefined;
|
package/dist/globals.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,MAAM,aAAa,GAAG;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,MAAM,aAAa,GAAG;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,UAAU,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,QAAQ;QAChB;;;WAGG;QACH,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACpE;CACF;AAED,eAAO,MAAM,gBAAgB,QAAO,aAQnC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const Fragment: import("react").ExoticComponent<import("react").FragmentProps>;
|
|
2
|
+
export declare function jsxDEV(type: any, props: any, key: any, isStaticChildren: any, source: any, self: any): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
3
|
+
//# sourceMappingURL=jsx-dev-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx-dev-runtime.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,gEAA8B,CAAC;AAEpD,wBAAgB,MAAM,CACpB,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,GAAG,EACV,GAAG,EAAE,GAAG,EACR,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,GAAG,8FAkBV"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as ReactJSXRuntimeDev from 'react/jsx-dev-runtime';
|
|
2
|
+
export const Fragment = ReactJSXRuntimeDev.Fragment;
|
|
3
|
+
export function jsxDEV(type, props, key, isStaticChildren, source, self) {
|
|
4
|
+
if (type &&
|
|
5
|
+
(type.displayName === 'View' || type.name === 'View') &&
|
|
6
|
+
props &&
|
|
7
|
+
props.collapsable === undefined) {
|
|
8
|
+
props = { ...props, collapsable: true };
|
|
9
|
+
}
|
|
10
|
+
return ReactJSXRuntimeDev.jsxDEV(type, props, key, isStaticChildren, source, self);
|
|
11
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const Fragment: import("react").ExoticComponent<import("react").FragmentProps>;
|
|
2
|
+
export declare function jsx(type: React.ElementType, props: unknown, key?: React.Key): React.ReactElement;
|
|
3
|
+
export declare function jsxs(type: React.ElementType, props: unknown, key?: React.Key): React.ReactElement;
|
|
4
|
+
//# sourceMappingURL=jsx-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx/jsx-runtime.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,gEAA2B,CAAC;AAmBjD,wBAAgB,GAAG,CACjB,IAAI,EAAE,KAAK,CAAC,WAAW,EACvB,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,GACd,KAAK,CAAC,YAAY,CAEpB;AAED,wBAAgB,IAAI,CAClB,IAAI,EAAE,KAAK,CAAC,WAAW,EACvB,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,GACd,KAAK,CAAC,YAAY,CAEpB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { View } from 'react-native';
|
|
2
|
+
import * as ReactJSXRuntime from 'react/jsx-runtime';
|
|
3
|
+
import { getHarnessGlobal } from '../globals.js';
|
|
4
|
+
export const Fragment = ReactJSXRuntime.Fragment;
|
|
5
|
+
function wrap(type, props, key, isStatic) {
|
|
6
|
+
const disableViewFlattening = getHarnessGlobal().disableViewFlattening;
|
|
7
|
+
if (disableViewFlattening && type === View) {
|
|
8
|
+
props = { ...props, collapsable: false };
|
|
9
|
+
}
|
|
10
|
+
return isStatic
|
|
11
|
+
? ReactJSXRuntime.jsxs(type, props, key)
|
|
12
|
+
: ReactJSXRuntime.jsx(type, props, key);
|
|
13
|
+
}
|
|
14
|
+
export function jsx(type, props, key) {
|
|
15
|
+
return wrap(type, props, key, false);
|
|
16
|
+
}
|
|
17
|
+
export function jsxs(type, props, key) {
|
|
18
|
+
return wrap(type, props, key, true);
|
|
19
|
+
}
|
package/dist/symbolicate.d.ts
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
import type { CodeFrame } from '@react-native-harness/bridge';
|
|
2
|
+
import { StackFrame } from 'react-native/Libraries/Core/Devtools/parseErrorStack';
|
|
3
|
+
export type RNCodeFrame = Readonly<{
|
|
4
|
+
content: string;
|
|
5
|
+
location: {
|
|
6
|
+
row: number;
|
|
7
|
+
column: number;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
} | null | undefined;
|
|
10
|
+
fileName: string;
|
|
11
|
+
}>;
|
|
12
|
+
export type RNSymbolicatedStackTrace = Readonly<{
|
|
13
|
+
stack: ReadonlyArray<StackFrame>;
|
|
14
|
+
codeFrame: CodeFrame | null | undefined;
|
|
15
|
+
}>;
|
|
2
16
|
export declare const getCodeFrame: (error: Error) => Promise<CodeFrame | null>;
|
|
3
17
|
//# sourceMappingURL=symbolicate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolicate.d.ts","sourceRoot":"","sources":["../src/symbolicate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"symbolicate.d.ts","sourceRoot":"","sources":["../src/symbolicate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAwB,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAGnG,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EACN;QACA,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GACC,IAAI,GACJ,SAAS,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC,CAAC;AAeH,eAAO,MAAM,YAAY,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAmBzE,CAAC"}
|
package/dist/symbolicate.js
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import parseErrorStack from 'react-native/Libraries/Core/Devtools/parseErrorStack';
|
|
2
|
-
import
|
|
2
|
+
import { getDevServerUrl } from './utils/dev-server.js';
|
|
3
|
+
const symbolicateStackTrace = async (stack, extraData) => {
|
|
4
|
+
const devServerUrl = getDevServerUrl();
|
|
5
|
+
const response = await fetch(devServerUrl + 'symbolicate', {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
headers: {
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify({ stack, extraData }),
|
|
11
|
+
});
|
|
12
|
+
return await response.json();
|
|
13
|
+
};
|
|
3
14
|
export const getCodeFrame = async (error) => {
|
|
4
15
|
const parsedStack = parseErrorStack(error.stack);
|
|
5
16
|
const symbolicatedStack = await symbolicateStackTrace(parsedStack);
|