@dxos/react-client 0.6.12 → 0.6.13-main.041e8aa
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/lib/browser/{chunk-CL7JDETM.mjs → chunk-RJRDB4LF.mjs} +62 -60
- package/dist/lib/browser/chunk-RJRDB4LF.mjs.map +7 -0
- package/dist/lib/browser/devtools/index.mjs +1 -1
- package/dist/lib/browser/echo/index.mjs +6 -4
- package/dist/lib/browser/echo/index.mjs.map +3 -3
- package/dist/lib/browser/halo/index.mjs +1 -1
- package/dist/lib/browser/index.mjs +1 -3
- package/dist/lib/browser/index.mjs.map +1 -1
- package/dist/lib/browser/mesh/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +43 -32
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-C4EWAKPZ.cjs → chunk-YNTACPMY.cjs} +63 -60
- package/dist/lib/node/chunk-YNTACPMY.cjs.map +7 -0
- package/dist/lib/node/devtools/index.cjs +2 -2
- package/dist/lib/node/echo/index.cjs +7 -5
- package/dist/lib/node/echo/index.cjs.map +3 -3
- package/dist/lib/node/halo/index.cjs +5 -5
- package/dist/lib/node/index.cjs +12 -14
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/mesh/index.cjs +2 -2
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +44 -33
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/lib/node-esm/chunk-UYJUBYMU.mjs +165 -0
- package/dist/lib/node-esm/chunk-UYJUBYMU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-V65AVUQO.mjs +295 -0
- package/dist/lib/node-esm/chunk-V65AVUQO.mjs.map +7 -0
- package/dist/lib/node-esm/devtools/index.mjs +44 -0
- package/dist/lib/node-esm/devtools/index.mjs.map +7 -0
- package/dist/lib/node-esm/echo/index.mjs +134 -0
- package/dist/lib/node-esm/echo/index.mjs.map +7 -0
- package/dist/lib/node-esm/halo/index.mjs +100 -0
- package/dist/lib/node-esm/halo/index.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +33 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/invitations/index.mjs +18 -0
- package/dist/lib/node-esm/invitations/index.mjs.map +7 -0
- package/dist/lib/node-esm/mesh/index.mjs +18 -0
- package/dist/lib/node-esm/mesh/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/testing/index.mjs +177 -0
- package/dist/lib/node-esm/testing/index.mjs.map +7 -0
- package/dist/lib/node-esm/worker.mjs +5 -0
- package/dist/lib/node-esm/worker.mjs.map +7 -0
- package/dist/types/src/client/ClientProvider.d.ts +59 -18
- package/dist/types/src/client/ClientProvider.d.ts.map +1 -1
- package/dist/types/src/client/context.d.ts +1 -4
- package/dist/types/src/client/context.d.ts.map +1 -1
- package/dist/types/src/client/index.d.ts +0 -1
- package/dist/types/src/client/index.d.ts.map +1 -1
- package/dist/types/src/echo/useQuery.d.ts.map +1 -1
- package/dist/types/src/playwright/playwright.config.d.ts +2 -2
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
- package/dist/types/src/testing/ClientRepeater.d.ts +9 -12
- package/dist/types/src/testing/ClientRepeater.d.ts.map +1 -1
- package/dist/types/src/testing/util.d.ts +5 -3
- package/dist/types/src/testing/util.d.ts.map +1 -1
- package/dist/types/src/testing/withClientProvider.d.ts +4 -1
- package/dist/types/src/testing/withClientProvider.d.ts.map +1 -1
- package/dist/types/src/testing/withClientProvider.stories.d.ts +4 -3
- package/dist/types/src/testing/withClientProvider.stories.d.ts.map +1 -1
- package/package.json +47 -38
- package/project.json +3 -22
- package/src/client/ClientProvider.test.tsx +7 -4
- package/src/client/ClientProvider.tsx +126 -100
- package/src/client/context.ts +4 -5
- package/src/client/index.ts +0 -3
- package/src/client/useConfig.test.tsx +9 -12
- package/src/echo/useQuery.ts +3 -6
- package/src/echo/useSpaces.test.tsx +6 -8
- package/src/halo/useDevices.test.tsx +3 -5
- package/src/playwright/playwright.config.ts +13 -2
- package/src/playwright/smoke.spec.ts +5 -10
- package/src/testing/ClientRepeater.tsx +19 -20
- package/src/testing/util.tsx +11 -6
- package/src/testing/withClientProvider.stories.tsx +19 -10
- package/src/testing/withClientProvider.tsx +22 -18
- package/tsconfig.json +2 -58
- package/vitest.config.ts +22 -0
- package/dist/lib/browser/chunk-CL7JDETM.mjs.map +0 -7
- package/dist/lib/node/chunk-C4EWAKPZ.cjs.map +0 -7
- package/dist/types/src/client/useClientServices.d.ts +0 -3
- package/dist/types/src/client/useClientServices.d.ts.map +0 -1
- package/src/client/useClientServices.ts +0 -15
|
@@ -1,52 +1,93 @@
|
|
|
1
|
-
import React, { type FunctionComponent, type
|
|
1
|
+
import React, { type FunctionComponent, type PropsWithChildren } from 'react';
|
|
2
2
|
import { Client, type ClientOptions, type ClientServicesProvider } from '@dxos/client';
|
|
3
3
|
import { type Config } from '@dxos/config';
|
|
4
|
-
import { type S } from '@dxos/echo-schema';
|
|
5
4
|
import { type MaybePromise, type Provider } from '@dxos/util';
|
|
6
5
|
import { type ClientContextProps } from './context';
|
|
7
6
|
/**
|
|
8
7
|
* Properties for the ClientProvider.
|
|
9
8
|
*/
|
|
10
|
-
export type ClientProviderProps =
|
|
11
|
-
children?: ReactNode;
|
|
12
|
-
/**
|
|
13
|
-
* Config object or async provider.
|
|
14
|
-
*/
|
|
15
|
-
config?: Config | Provider<Promise<Config>>;
|
|
9
|
+
export type ClientProviderProps = Omit<ClientOptions, 'config' | 'services'> & Pick<ClientContextProps, 'status'> & PropsWithChildren<{
|
|
16
10
|
/**
|
|
17
11
|
* Client object or async provider to enable to caller to do custom initialization.
|
|
18
12
|
*
|
|
19
|
-
*
|
|
13
|
+
* NOTE: For advanced use cases only.
|
|
20
14
|
*/
|
|
21
15
|
client?: Client | Provider<Promise<Client>>;
|
|
22
16
|
/**
|
|
23
|
-
*
|
|
17
|
+
* Config object or async provider.
|
|
24
18
|
*
|
|
25
|
-
*
|
|
19
|
+
* NOTE: If a `client` is provided then `config` is ignored.
|
|
26
20
|
*/
|
|
27
|
-
|
|
21
|
+
config?: Config | Provider<Promise<Config>>;
|
|
28
22
|
/**
|
|
29
|
-
*
|
|
23
|
+
* Callback to enable the caller to create a custom ClientServicesProvider.
|
|
24
|
+
*
|
|
25
|
+
* NOTE: If a `client` is provided then `services` is ignored.
|
|
30
26
|
*/
|
|
31
|
-
|
|
27
|
+
services?: ClientServicesProvider | ((config?: Config) => MaybePromise<ClientServicesProvider>);
|
|
32
28
|
/**
|
|
33
29
|
* ReactNode to display until the client is available.
|
|
34
30
|
*/
|
|
35
31
|
fallback?: FunctionComponent<Partial<ClientContextProps>>;
|
|
36
32
|
/**
|
|
37
|
-
*
|
|
33
|
+
* Enable (by default) registration of Preact signals runtime for reactive ECHO objects.
|
|
34
|
+
* @see https://www.npmjs.com/package/@preact/signals-react
|
|
38
35
|
*/
|
|
39
|
-
|
|
36
|
+
signalsRuntime?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Skip the DXOS banner.
|
|
39
|
+
*/
|
|
40
|
+
noBanner?: boolean;
|
|
40
41
|
/**
|
|
41
42
|
* Post initialization hook to enable to caller to do custom initialization.
|
|
42
43
|
*
|
|
43
44
|
* @param Client
|
|
44
45
|
*/
|
|
45
46
|
onInitialized?: (client: Client) => MaybePromise<void>;
|
|
46
|
-
}
|
|
47
|
+
}>;
|
|
47
48
|
/**
|
|
48
49
|
* Root component that provides the DXOS client instance to child components.
|
|
49
50
|
* To be used with the `useClient` hook.
|
|
50
51
|
*/
|
|
51
|
-
export declare const ClientProvider:
|
|
52
|
+
export declare const ClientProvider: React.ForwardRefExoticComponent<Omit<ClientOptions, "services" | "config"> & Pick<ClientContextProps, "status"> & {
|
|
53
|
+
/**
|
|
54
|
+
* Client object or async provider to enable to caller to do custom initialization.
|
|
55
|
+
*
|
|
56
|
+
* NOTE: For advanced use cases only.
|
|
57
|
+
*/
|
|
58
|
+
client?: Client | Provider<Promise<Client>>;
|
|
59
|
+
/**
|
|
60
|
+
* Config object or async provider.
|
|
61
|
+
*
|
|
62
|
+
* NOTE: If a `client` is provided then `config` is ignored.
|
|
63
|
+
*/
|
|
64
|
+
config?: Config | Provider<Promise<Config>>;
|
|
65
|
+
/**
|
|
66
|
+
* Callback to enable the caller to create a custom ClientServicesProvider.
|
|
67
|
+
*
|
|
68
|
+
* NOTE: If a `client` is provided then `services` is ignored.
|
|
69
|
+
*/
|
|
70
|
+
services?: ClientServicesProvider | ((config?: Config) => MaybePromise<ClientServicesProvider>);
|
|
71
|
+
/**
|
|
72
|
+
* ReactNode to display until the client is available.
|
|
73
|
+
*/
|
|
74
|
+
fallback?: FunctionComponent<Partial<ClientContextProps>>;
|
|
75
|
+
/**
|
|
76
|
+
* Enable (by default) registration of Preact signals runtime for reactive ECHO objects.
|
|
77
|
+
* @see https://www.npmjs.com/package/@preact/signals-react
|
|
78
|
+
*/
|
|
79
|
+
signalsRuntime?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Skip the DXOS banner.
|
|
82
|
+
*/
|
|
83
|
+
noBanner?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Post initialization hook to enable to caller to do custom initialization.
|
|
86
|
+
*
|
|
87
|
+
* @param Client
|
|
88
|
+
*/
|
|
89
|
+
onInitialized?: (client: Client) => MaybePromise<void>;
|
|
90
|
+
} & {
|
|
91
|
+
children?: React.ReactNode | undefined;
|
|
92
|
+
} & React.RefAttributes<Client | undefined>>;
|
|
52
93
|
//# sourceMappingURL=ClientProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/ClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/client/ClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EACZ,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAKvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAgB,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,UAAU,CAAC,GAC1E,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAClC,iBAAiB,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAEH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IAEH,QAAQ,CAAC,EAAE,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEhG;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE1D;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,cAAc;IAnDvB;;;;OAIG;aACM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;aAEM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;eAEQ,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAE/F;;OAEG;eACQ,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzD;;;OAGG;qBACc,OAAO;IAExB;;OAEG;eACQ,OAAO;IAElB;;;;OAIG;oBACa,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC;;;4CA4GzD,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type Client, type ClientServices, type SystemStatus } from '@dxos/client';
|
|
1
|
+
import { type Client, type SystemStatus } from '@dxos/client';
|
|
3
2
|
export type ClientContextProps = {
|
|
4
3
|
client: Client;
|
|
5
|
-
services?: ClientServices;
|
|
6
4
|
status?: SystemStatus | null;
|
|
7
5
|
};
|
|
8
|
-
export declare const ClientContext: Context<ClientContextProps | undefined>;
|
|
9
6
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/client/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/client/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9B,CAAC"}
|
|
@@ -2,7 +2,6 @@ export * from './AgentHostingProvider';
|
|
|
2
2
|
export * from './ClientProvider';
|
|
3
3
|
export * from './context';
|
|
4
4
|
export * from './useClient';
|
|
5
|
-
export * from './useClientServices';
|
|
6
5
|
export * from './useClientStatus';
|
|
7
6
|
export * from './useConfig';
|
|
8
7
|
export * from './useShell';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/echo/useQuery.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/echo/useQuery.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,KAAK,EACX,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,gBAC1C,KAAK,GAAG,IAAI,WACjB,YAAY,CAAC,CAAC,CAAC,YACd,YAAY,SACf,GAAG,EAAE,KACX,CAAC,EAuBH,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export default
|
|
1
|
+
declare const _default: import("@playwright/test").PlaywrightTestConfig<{}, {}>;
|
|
2
|
+
export default _default;
|
|
3
3
|
//# sourceMappingURL=playwright.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":";AASA,wBAQG"}
|
|
@@ -1,31 +1,28 @@
|
|
|
1
|
+
import { type Schema as S } from '@effect/schema';
|
|
1
2
|
import React, { type FC } from 'react';
|
|
2
3
|
import { Client, type PublicKey } from '@dxos/client';
|
|
3
|
-
import { type
|
|
4
|
-
import { type S } from '@dxos/echo-schema';
|
|
5
|
-
import { type MaybePromise } from '@dxos/util';
|
|
4
|
+
import { type WithClientProviderProps } from './withClientProvider';
|
|
6
5
|
export type ClientRepeatedComponentProps = {
|
|
7
6
|
id: number;
|
|
8
7
|
count: number;
|
|
9
8
|
spaceKey?: PublicKey;
|
|
10
9
|
};
|
|
10
|
+
export type ClientRepeaterControlsProps = {
|
|
11
|
+
clients: Client[];
|
|
12
|
+
};
|
|
11
13
|
export type ClientRepeaterProps<P extends ClientRepeatedComponentProps> = {
|
|
12
14
|
className?: string;
|
|
13
15
|
component: FC<ClientRepeatedComponentProps>;
|
|
14
|
-
controls?: FC<
|
|
15
|
-
clients: Client[];
|
|
16
|
-
}>;
|
|
17
|
-
clients?: Client[];
|
|
16
|
+
controls?: FC<ClientRepeaterControlsProps>;
|
|
18
17
|
count?: number;
|
|
19
|
-
|
|
18
|
+
clients?: Client[];
|
|
20
19
|
types?: S.Schema<any>[];
|
|
21
|
-
createIdentity?: boolean;
|
|
22
|
-
createSpace?: boolean;
|
|
23
|
-
onCreateSpace?: (space: Space) => MaybePromise<void>;
|
|
24
20
|
args?: Omit<P, 'id' | 'count'>;
|
|
25
|
-
}
|
|
21
|
+
} & Pick<WithClientProviderProps, 'createIdentity' | 'createSpace' | 'onSpaceCreated'>;
|
|
26
22
|
/**
|
|
27
23
|
* Utility component for Storybook stories which sets up clients for n peers.
|
|
28
24
|
* The `Component` property is rendered n times, once for each peer.
|
|
25
|
+
* @deprecated use `withClientProvider`.
|
|
29
26
|
*/
|
|
30
27
|
export declare const ClientRepeater: <P extends ClientRepeatedComponentProps>(props: ClientRepeaterProps<P>) => React.JSX.Element | null;
|
|
31
28
|
//# sourceMappingURL=ClientRepeater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientRepeater.d.ts","sourceRoot":"","sources":["../../../../src/testing/ClientRepeater.tsx"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"ClientRepeater.d.ts","sourceRoot":"","sources":["../../../../src/testing/ClientRepeater.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,EAAY,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKtD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,MAAM,4BAA4B,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE/F,MAAM,MAAM,2BAA2B,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAGhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,4BAA4B,IAAI;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,EAAE,CAAC,4BAA4B,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;CAChC,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,CAAC,CAAC;AAEvF;;;;GAIG;AAMH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,4BAA4B,SAAS,mBAAmB,CAAC,CAAC,CAAC,6BA2DnG,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Client } from '@dxos/client';
|
|
2
|
+
import { Client, type Config } from '@dxos/client';
|
|
3
3
|
import { type Space } from '@dxos/client/echo';
|
|
4
|
-
export declare const createClient: ({ createIdentity, createSpace, }?: {
|
|
4
|
+
export declare const createClient: ({ config, createIdentity, createSpace, }?: {
|
|
5
|
+
config?: Config;
|
|
5
6
|
createIdentity?: boolean;
|
|
6
7
|
createSpace?: boolean;
|
|
7
8
|
}) => Promise<{
|
|
8
9
|
client: Client;
|
|
9
10
|
space: Space | undefined;
|
|
10
11
|
}>;
|
|
11
|
-
export declare const
|
|
12
|
+
export declare const createClientContextProvider: (client: Client) => Promise<({ children }: any) => React.JSX.Element>;
|
|
13
|
+
export declare const createClientProvider: (client: Client) => Promise<({ children }: any) => React.JSX.Element>;
|
|
12
14
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/testing/util.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAY,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/testing/util.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAY,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,eAAO,MAAM,YAAY,8CAItB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE;;;EActE,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAAkB,MAAM,4BACxC,GAAG,uBAC1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAkB,MAAM,4BACjC,GAAG,uBAC1B,CAAC"}
|
|
@@ -6,7 +6,10 @@ import { type ClientProviderProps } from '../client';
|
|
|
6
6
|
type InitializeProps = {
|
|
7
7
|
createIdentity?: boolean;
|
|
8
8
|
createSpace?: boolean;
|
|
9
|
-
onSpaceCreated?: (
|
|
9
|
+
onSpaceCreated?: (props: {
|
|
10
|
+
client: Client;
|
|
11
|
+
space: Space;
|
|
12
|
+
}) => MaybePromise<void>;
|
|
10
13
|
};
|
|
11
14
|
export type WithClientProviderProps = InitializeProps & ClientProviderProps;
|
|
12
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErE,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"withClientProvider.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErE,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAClF,CAAC;AA8BF,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,kBAAkB,8EAM5B,uBAAuB,KAAQ,SAcjC,CAAC;AAKF,MAAM,MAAM,4BAA4B,GAAG,eAAe,GAAG,mBAAmB,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,yFAOjC,4BAA4B,KAAG,SAuCjC,CAAC"}
|
|
@@ -2,11 +2,12 @@ import '@dxos-theme';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
declare const _default: {
|
|
4
4
|
title: string;
|
|
5
|
-
|
|
6
|
-
decorators: import("@storybook/react/*").Decorator[];
|
|
5
|
+
render: () => React.JSX.Element | null;
|
|
7
6
|
};
|
|
8
7
|
export default _default;
|
|
9
|
-
export declare const Default: {
|
|
8
|
+
export declare const Default: {
|
|
9
|
+
decorators: import("@storybook/react/*").Decorator[];
|
|
10
|
+
};
|
|
10
11
|
export declare const Multiple: {
|
|
11
12
|
decorators: import("@storybook/react/*").Decorator[];
|
|
12
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withClientProvider.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"withClientProvider.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withClientProvider.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAgC1B,wBAGE;AAaF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAMpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,65 +1,73 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-client",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13-main.041e8aa",
|
|
4
4
|
"description": "React client API",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "DXOS.org",
|
|
9
9
|
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"browser": "./dist/lib/browser/index.mjs",
|
|
12
|
-
"node": {
|
|
13
|
-
"default": "./dist/lib/node/index.cjs"
|
|
14
|
-
},
|
|
15
|
-
"types": "./dist/types/src/index.d.ts"
|
|
16
|
-
},
|
|
17
10
|
"./devtools": {
|
|
18
11
|
"browser": "./dist/lib/browser/devtools/index.mjs",
|
|
19
12
|
"node": {
|
|
20
|
-
"
|
|
13
|
+
"require": "./dist/lib/node/devtools/index.cjs",
|
|
14
|
+
"default": "./dist/lib/node-esm/devtools/index.mjs"
|
|
21
15
|
},
|
|
22
16
|
"types": "./dist/types/src/devtools/index.d.ts"
|
|
23
17
|
},
|
|
24
18
|
"./echo": {
|
|
25
19
|
"browser": "./dist/lib/browser/echo/index.mjs",
|
|
26
20
|
"node": {
|
|
27
|
-
"
|
|
21
|
+
"require": "./dist/lib/node/echo/index.cjs",
|
|
22
|
+
"default": "./dist/lib/node-esm/echo/index.mjs"
|
|
28
23
|
},
|
|
29
24
|
"types": "./dist/types/src/echo/index.d.ts"
|
|
30
25
|
},
|
|
31
26
|
"./halo": {
|
|
32
27
|
"browser": "./dist/lib/browser/halo/index.mjs",
|
|
33
28
|
"node": {
|
|
34
|
-
"
|
|
29
|
+
"require": "./dist/lib/node/halo/index.cjs",
|
|
30
|
+
"default": "./dist/lib/node-esm/halo/index.mjs"
|
|
35
31
|
},
|
|
36
32
|
"types": "./dist/types/src/halo/index.d.ts"
|
|
37
33
|
},
|
|
34
|
+
".": {
|
|
35
|
+
"browser": "./dist/lib/browser/index.mjs",
|
|
36
|
+
"node": {
|
|
37
|
+
"require": "./dist/lib/node/index.cjs",
|
|
38
|
+
"default": "./dist/lib/node-esm/index.mjs"
|
|
39
|
+
},
|
|
40
|
+
"types": "./dist/types/src/index.d.ts"
|
|
41
|
+
},
|
|
38
42
|
"./invitations": {
|
|
39
43
|
"browser": "./dist/lib/browser/invitations/index.mjs",
|
|
40
44
|
"node": {
|
|
41
|
-
"
|
|
45
|
+
"require": "./dist/lib/node/invitations/index.cjs",
|
|
46
|
+
"default": "./dist/lib/node-esm/invitations/index.mjs"
|
|
42
47
|
},
|
|
43
48
|
"types": "./dist/types/src/invitations/index.d.ts"
|
|
44
49
|
},
|
|
45
50
|
"./mesh": {
|
|
46
51
|
"browser": "./dist/lib/browser/mesh/index.mjs",
|
|
47
52
|
"node": {
|
|
48
|
-
"
|
|
53
|
+
"require": "./dist/lib/node/mesh/index.cjs",
|
|
54
|
+
"default": "./dist/lib/node-esm/mesh/index.mjs"
|
|
49
55
|
},
|
|
50
56
|
"types": "./dist/types/src/mesh/index.d.ts"
|
|
51
57
|
},
|
|
52
58
|
"./testing": {
|
|
53
59
|
"browser": "./dist/lib/browser/testing/index.mjs",
|
|
54
60
|
"node": {
|
|
55
|
-
"
|
|
61
|
+
"require": "./dist/lib/node/testing/index.cjs",
|
|
62
|
+
"default": "./dist/lib/node-esm/testing/index.mjs"
|
|
56
63
|
},
|
|
57
64
|
"types": "./dist/types/src/testing/index.d.ts"
|
|
58
65
|
},
|
|
59
66
|
"./worker": {
|
|
60
67
|
"browser": "./dist/lib/browser/worker.mjs",
|
|
61
68
|
"node": {
|
|
62
|
-
"
|
|
69
|
+
"require": "./dist/lib/node/worker.cjs",
|
|
70
|
+
"default": "./dist/lib/node-esm/worker.mjs"
|
|
63
71
|
},
|
|
64
72
|
"types": "./dist/types/src/worker.d.ts"
|
|
65
73
|
}
|
|
@@ -92,19 +100,19 @@
|
|
|
92
100
|
},
|
|
93
101
|
"dependencies": {
|
|
94
102
|
"react-error-boundary": "^4.0.13",
|
|
95
|
-
"@dxos/async": "0.6.
|
|
96
|
-
"@dxos/
|
|
97
|
-
"@dxos/
|
|
98
|
-
"@dxos/
|
|
99
|
-
"@dxos/
|
|
100
|
-
"@dxos/debug": "0.6.
|
|
101
|
-
"@dxos/
|
|
102
|
-
"@dxos/
|
|
103
|
-
"@dxos/log": "0.6.
|
|
104
|
-
"@dxos/
|
|
105
|
-
"@dxos/
|
|
106
|
-
"@dxos/react-hooks": "0.6.
|
|
107
|
-
"@dxos/util": "0.6.
|
|
103
|
+
"@dxos/async": "0.6.13-main.041e8aa",
|
|
104
|
+
"@dxos/codec-protobuf": "0.6.13-main.041e8aa",
|
|
105
|
+
"@dxos/config": "0.6.13-main.041e8aa",
|
|
106
|
+
"@dxos/echo-schema": "0.6.13-main.041e8aa",
|
|
107
|
+
"@dxos/client": "0.6.13-main.041e8aa",
|
|
108
|
+
"@dxos/debug": "0.6.13-main.041e8aa",
|
|
109
|
+
"@dxos/invariant": "0.6.13-main.041e8aa",
|
|
110
|
+
"@dxos/echo-signals": "0.6.13-main.041e8aa",
|
|
111
|
+
"@dxos/log": "0.6.13-main.041e8aa",
|
|
112
|
+
"@dxos/protocols": "0.6.13-main.041e8aa",
|
|
113
|
+
"@dxos/node-std": "0.6.13-main.041e8aa",
|
|
114
|
+
"@dxos/react-hooks": "0.6.13-main.041e8aa",
|
|
115
|
+
"@dxos/util": "0.6.13-main.041e8aa"
|
|
108
116
|
},
|
|
109
117
|
"devDependencies": {
|
|
110
118
|
"@testing-library/dom": "^8.17.1",
|
|
@@ -114,20 +122,21 @@
|
|
|
114
122
|
"@types/react-dom": "~18.2.0",
|
|
115
123
|
"react": "~18.2.0",
|
|
116
124
|
"react-dom": "~18.2.0",
|
|
117
|
-
"@dxos/random": "0.6.
|
|
118
|
-
"@dxos/react-ui": "0.6.
|
|
119
|
-
"@dxos/react-ui-
|
|
120
|
-
"@dxos/react-ui-
|
|
121
|
-
"@dxos/storybook-utils": "0.6.
|
|
125
|
+
"@dxos/random": "0.6.13-main.041e8aa",
|
|
126
|
+
"@dxos/react-ui": "0.6.13-main.041e8aa",
|
|
127
|
+
"@dxos/react-ui-syntax-highlighter": "0.6.13-main.041e8aa",
|
|
128
|
+
"@dxos/react-ui-theme": "0.6.13-main.041e8aa",
|
|
129
|
+
"@dxos/storybook-utils": "0.6.13-main.041e8aa",
|
|
130
|
+
"@dxos/test-utils": "0.6.13-main.041e8aa"
|
|
122
131
|
},
|
|
123
132
|
"peerDependencies": {
|
|
124
|
-
"react": "
|
|
125
|
-
"react-dom": "
|
|
126
|
-
"@dxos/react-ui": "0.6.
|
|
127
|
-
"@dxos/react-ui-theme": "0.6.
|
|
133
|
+
"react": "~18.2.0",
|
|
134
|
+
"react-dom": "~18.2.0",
|
|
135
|
+
"@dxos/react-ui": "0.6.13-main.041e8aa",
|
|
136
|
+
"@dxos/react-ui-theme": "0.6.13-main.041e8aa"
|
|
128
137
|
},
|
|
129
138
|
"optionalDependencies": {
|
|
130
|
-
"@dxos/random": "0.6.
|
|
139
|
+
"@dxos/random": "0.6.13-main.041e8aa"
|
|
131
140
|
},
|
|
132
141
|
"publishConfig": {
|
|
133
142
|
"access": "public"
|
package/project.json
CHANGED
|
@@ -26,32 +26,13 @@
|
|
|
26
26
|
"dependsOn": [
|
|
27
27
|
"^compile",
|
|
28
28
|
"stories:mkdist"
|
|
29
|
-
]
|
|
30
|
-
"options": {
|
|
31
|
-
"playwrightConfigPath": "{projectRoot}/src/playwright/playwright.config.ts",
|
|
32
|
-
"serve": "stories:storybook-e2e",
|
|
33
|
-
"testPatterns": [
|
|
34
|
-
"{projectRoot}/src/playwright/**/*.spec.{ts,js}"
|
|
35
|
-
],
|
|
36
|
-
"timeout": 60000,
|
|
37
|
-
"watchPatterns": [
|
|
38
|
-
"{projectRoot}/src/**/*"
|
|
39
|
-
]
|
|
40
|
-
}
|
|
29
|
+
]
|
|
41
30
|
},
|
|
42
31
|
"lint": {},
|
|
43
|
-
"test": {
|
|
44
|
-
"options": {
|
|
45
|
-
"ciEnvironments": [
|
|
46
|
-
"nodejs"
|
|
47
|
-
],
|
|
48
|
-
"domRequired": true,
|
|
49
|
-
"forceExit": true
|
|
50
|
-
}
|
|
51
|
-
}
|
|
32
|
+
"test": {}
|
|
52
33
|
},
|
|
53
34
|
"implicitDependencies": [
|
|
54
35
|
"esbuild",
|
|
55
|
-
"
|
|
36
|
+
"node-std"
|
|
56
37
|
]
|
|
57
38
|
}
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
// Copyright 2020 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { renderHook, screen, render, act } from '@testing-library/react';
|
|
6
|
-
import expect from 'expect';
|
|
5
|
+
import { renderHook, screen, render, act, cleanup } from '@testing-library/react';
|
|
7
6
|
import React, { Component, type PropsWithChildren } from 'react';
|
|
7
|
+
import { afterEach, beforeEach, describe, expect, test } from 'vitest';
|
|
8
8
|
|
|
9
9
|
import { waitForCondition } from '@dxos/async';
|
|
10
10
|
import { Client, Config, SystemStatus, fromHost } from '@dxos/client';
|
|
11
11
|
import { log } from '@dxos/log';
|
|
12
|
-
import { describe, test } from '@dxos/test';
|
|
13
12
|
|
|
14
13
|
import { ClientProvider } from './ClientProvider';
|
|
15
14
|
import { useClient } from './useClient';
|
|
@@ -97,6 +96,10 @@ describe('ClientProvider', () => {
|
|
|
97
96
|
await client.halo.createIdentity({ displayName: 'test-user' });
|
|
98
97
|
});
|
|
99
98
|
|
|
99
|
+
afterEach(() => {
|
|
100
|
+
cleanup();
|
|
101
|
+
});
|
|
102
|
+
|
|
100
103
|
test('Renders with children', async () => {
|
|
101
104
|
render(
|
|
102
105
|
<ClientProvider client={client}>
|
|
@@ -148,7 +151,7 @@ describe('ClientProvider', () => {
|
|
|
148
151
|
|
|
149
152
|
await act(async () => {
|
|
150
153
|
await waitForCondition({
|
|
151
|
-
condition: () => newClient.status.get() === SystemStatus.ACTIVE
|
|
154
|
+
condition: () => !client.initialized && newClient.status.get() === SystemStatus.ACTIVE,
|
|
152
155
|
});
|
|
153
156
|
});
|
|
154
157
|
expect(client.initialized).toBe(false);
|