@vitejs/devtools-kit 0.0.0-alpha.16 → 0.0.0-alpha.17

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.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as DockPanelStorage, c as DocksPanelContext, d as getDevToolsRpcClient, i as DockEntryStateEvents, l as DevToolsRpcClient, n as DockClientType, o as DocksContext, r as DockEntryState, s as DocksEntriesContext, t as DockClientScriptContext, u as DevToolsRpcClientOptions } from "./index-Bf_5llis.mjs";
2
- export { DevToolsRpcClient, DevToolsRpcClientOptions, DockClientScriptContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, getDevToolsRpcClient };
1
+ import { a as DockEntryState, c as DocksContext, d as ClientRpcReturn, f as DevToolsRpcClient, i as DockClientType, l as DocksEntriesContext, m as getDevToolsRpcClient, n as DevToolsClientContext, o as DockEntryStateEvents, p as DevToolsRpcClientOptions, r as DevToolsClientRpcHost, s as DockPanelStorage, t as DockClientScriptContext, u as DocksPanelContext } from "./index-C-bl_jKJ.mjs";
2
+ export { ClientRpcReturn, DevToolsClientContext, DevToolsClientRpcHost, DevToolsRpcClient, DevToolsRpcClientOptions, DockClientScriptContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, getDevToolsRpcClient };
package/dist/client.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { RpcFunctionsCollectorBase } from "birpc-x";
1
2
  import { createRpcClient } from "@vitejs/devtools-rpc";
2
3
  import { createWsRpcPreset } from "@vitejs/devtools-rpc/presets/ws/client";
3
4
 
@@ -12,24 +13,29 @@ async function getDevToolsRpcClient(options = {}) {
12
13
  let connectionMeta = options.connectionMeta;
13
14
  if (!connectionMeta) {
14
15
  const errors = [];
15
- for (const url of urls) try {
16
- connectionMeta = await fetch(`${url}.vdt-connection.json`).then((r) => r.json());
16
+ for (const url$1 of urls) try {
17
+ connectionMeta = await fetch(`${url$1}.vdt-connection.json`).then((r) => r.json());
17
18
  break;
18
19
  } catch (e) {
19
20
  errors.push(e);
20
21
  }
21
22
  if (!connectionMeta) throw new Error(`Failed to get connection meta from ${urls.join(", ")}`, { cause: errors });
22
23
  }
23
- const rpc = createRpcClient({}, {
24
+ const url = isNumeric(connectionMeta.websocket) ? `${location.protocol.replace("http", "ws")}//${location.hostname}:${connectionMeta.websocket}` : connectionMeta.websocket;
25
+ const context = { rpc: void 0 };
26
+ const clientRpc = new RpcFunctionsCollectorBase(context);
27
+ const rpc = createRpcClient(clientRpc.functions, {
24
28
  preset: createWsRpcPreset({
25
- url: isNumeric(connectionMeta.websocket) ? `${location.protocol.replace("http", "ws")}//${location.hostname}:${connectionMeta.websocket}` : connectionMeta.websocket,
29
+ url,
26
30
  ...options.wsOptions
27
31
  }),
28
32
  rpcOptions
29
33
  });
34
+ context.rpc = rpc;
30
35
  return {
31
36
  connectionMeta,
32
- rpc
37
+ rpc,
38
+ clientRpc
33
39
  };
34
40
  }
35
41
 
@@ -1,9 +1,9 @@
1
- import { RpcFunctionsCollectorBase } from "birpc-x";
1
+ import { RpcDefinitionsFilter, RpcDefinitionsToFunctions, RpcFunctionsCollector, RpcFunctionsCollectorBase } from "birpc-x";
2
2
  import { WebSocketRpcClientOptions } from "@vitejs/devtools-rpc/presets/ws/client";
3
3
  import { Emitter } from "nanoevents";
4
4
  import { Raw } from "vue";
5
+ import { BirpcGroup, BirpcOptions, BirpcReturn } from "birpc";
5
6
  import { Plugin, ResolvedConfig, ViteDevServer } from "vite";
6
- import { BirpcFn, BirpcOptions, BirpcReturn, BirpcReturn as BirpcReturn$1 } from "birpc";
7
7
 
8
8
  //#region src/types/rpc-augments.d.ts
9
9
  /**
@@ -15,10 +15,6 @@ interface DevToolsRpcClientFunctions {}
15
15
  */
16
16
  interface DevToolsRpcServerFunctions {}
17
17
  //#endregion
18
- //#region src/types/utils.d.ts
19
- type Thenable<T> = T | Promise<T>;
20
- type EntriesToObject<T extends readonly [string, any][]> = { [K in T[number] as K[0]]: K[1] };
21
- //#endregion
22
18
  //#region src/types/views.d.ts
23
19
  interface DevToolsDockHost {
24
20
  views: Map<string, DevToolsDockEntry>;
@@ -134,29 +130,13 @@ interface ConnectionMeta {
134
130
  }
135
131
  //#endregion
136
132
  //#region src/types/rpc.d.ts
137
- /**
138
- * Type of the RPC function,
139
- * - static: A function that returns a static data (can be cached and dumped)
140
- * - action: A function that performs an action (no data returned)
141
- * - query: A function that queries a resource
142
- */
143
- type RpcFunctionType = 'static' | 'action' | 'query';
144
- type RpcFunctionsHost = RpcFunctionsCollectorBase<DevToolsRpcServerFunctions, DevToolsNodeContext>;
145
- interface RpcFunctionSetupResult<ARGS extends any[], RETURN = void> {
146
- handler: (...args: ARGS) => RETURN;
147
- }
148
- interface RpcFunctionDefinition<NAME extends string, TYPE extends RpcFunctionType, ARGS extends any[] = [], RETURN = void> {
149
- name: NAME;
150
- type: TYPE;
151
- setup: (context: DevToolsNodeContext) => Thenable<RpcFunctionSetupResult<ARGS, RETURN>>;
152
- handler?: (...args: ARGS) => RETURN;
153
- __resolved?: RpcFunctionSetupResult<ARGS, RETURN>;
154
- __promise?: Thenable<RpcFunctionSetupResult<ARGS, RETURN>>;
155
- }
156
- type RpcDefinitionsToFunctions<T extends readonly RpcFunctionDefinition<any, any, any>[]> = EntriesToObject<{ [K in keyof T]: [T[K]['name'], Awaited<ReturnType<T[K]['setup']>>['handler']] }>;
157
- type RpcDefinitionsFilter<T extends readonly RpcFunctionDefinition<any, any, any>[], Type extends RpcFunctionType> = { [K in keyof T]: T[K] extends {
158
- type: Type;
159
- } ? T[K] : never };
133
+ type RpcFunctionsHost = RpcFunctionsCollectorBase<DevToolsRpcServerFunctions, DevToolsNodeContext> & {
134
+ boardcast: BirpcGroup<DevToolsRpcClientFunctions, DevToolsRpcServerFunctions>['broadcast'];
135
+ };
136
+ //#endregion
137
+ //#region src/types/utils.d.ts
138
+ type Thenable<T> = T | Promise<T>;
139
+ type EntriesToObject<T extends readonly [string, any][]> = { [K in T[number] as K[0]]: K[1] };
160
140
  //#endregion
161
141
  //#region src/types/vite-augment.d.ts
162
142
  declare module 'vite' {
@@ -176,10 +156,12 @@ interface DevToolsRpcClientOptions {
176
156
  rpcOptions?: Partial<BirpcOptions<DevToolsRpcServerFunctions>>;
177
157
  }
178
158
  type DevToolsRpcClient = BirpcReturn<DevToolsRpcServerFunctions, DevToolsRpcClientFunctions>;
179
- declare function getDevToolsRpcClient(options?: DevToolsRpcClientOptions): Promise<{
159
+ interface ClientRpcReturn {
180
160
  connectionMeta: ConnectionMeta;
181
161
  rpc: DevToolsRpcClient;
182
- }>;
162
+ clientRpc: DevToolsClientRpcHost;
163
+ }
164
+ declare function getDevToolsRpcClient(options?: DevToolsRpcClientOptions): Promise<ClientRpcReturn>;
183
165
  //#endregion
184
166
  //#region src/client/docks.d.ts
185
167
  interface DockPanelStorage {
@@ -192,7 +174,13 @@ interface DockPanelStorage {
192
174
  inactiveTimeout: number;
193
175
  }
194
176
  type DockClientType = 'embedded' | 'standalone';
195
- interface DocksContext {
177
+ interface DevToolsClientContext {
178
+ /**
179
+ * The RPC client to interact with the server
180
+ */
181
+ readonly rpc: DevToolsRpcClient;
182
+ }
183
+ interface DocksContext extends DevToolsClientContext {
196
184
  /**
197
185
  * Type of the client environment
198
186
  *
@@ -200,19 +188,20 @@ interface DocksContext {
200
188
  * 'standalone' - running inside a standlone window (no user app)
201
189
  */
202
190
  readonly clientType: 'embedded' | 'standalone';
203
- /**
204
- * The RPC client to interact with the server
205
- */
206
- readonly rpc: DevToolsRpcClient;
207
191
  /**
208
192
  * The panel context
209
193
  */
210
- panel: DocksPanelContext;
194
+ readonly panel: DocksPanelContext;
211
195
  /**
212
196
  * The docks entries context
213
197
  */
214
- docks: DocksEntriesContext;
198
+ readonly docks: DocksEntriesContext;
199
+ /**
200
+ * The client-side RPC functions to be called from the server
201
+ */
202
+ readonly clientRpc: DevToolsClientRpcHost;
215
203
  }
204
+ type DevToolsClientRpcHost = RpcFunctionsCollector<DevToolsRpcClientFunctions, DevToolsClientContext>;
216
205
  interface DocksPanelContext {
217
206
  store: DockPanelStorage;
218
207
  isDragging: boolean;
@@ -262,4 +251,4 @@ interface DockClientScriptContext extends DocksContext {
262
251
  current: DockEntryState;
263
252
  }
264
253
  //#endregion
265
- export { DevToolsDockHost as A, DevToolsNodeContext as C, DevToolsDockEntry as D, ClientScriptEntry as E, EntriesToObject as F, Thenable as I, DevToolsRpcClientFunctions as L, DevToolsViewCustomRender as M, DevToolsViewHost as N, DevToolsDockEntryBase as O, DevToolsViewIframe as P, DevToolsRpcServerFunctions as R, DevToolsCapabilities as S, DevToolsPluginOptions as T, RpcFunctionDefinition as _, DockPanelStorage as a, RpcFunctionsHost as b, DocksPanelContext as c, getDevToolsRpcClient as d, PluginWithDevTools as f, RpcDefinitionsToFunctions as g, RpcDefinitionsFilter as h, DockEntryStateEvents as i, DevToolsViewAction as j, DevToolsDockEntryCategory as k, DevToolsRpcClient as l, BirpcReturn$1 as m, DockClientType as n, DocksContext as o, BirpcFn as p, DockEntryState as r, DocksEntriesContext as s, DockClientScriptContext as t, DevToolsRpcClientOptions as u, RpcFunctionSetupResult as v, DevToolsNodeUtils as w, ConnectionMeta as x, RpcFunctionType as y };
254
+ export { DevToolsDockHost as A, DevToolsNodeContext as C, DevToolsDockEntry as D, ClientScriptEntry as E, DevToolsRpcClientFunctions as F, DevToolsRpcServerFunctions as I, DevToolsViewCustomRender as M, DevToolsViewHost as N, DevToolsDockEntryBase as O, DevToolsViewIframe as P, DevToolsCapabilities as S, DevToolsPluginOptions as T, PluginWithDevTools as _, DockEntryState as a, RpcFunctionsHost as b, DocksContext as c, ClientRpcReturn as d, DevToolsRpcClient as f, RpcDefinitionsToFunctions as g, RpcDefinitionsFilter as h, DockClientType as i, DevToolsViewAction as j, DevToolsDockEntryCategory as k, DocksEntriesContext as l, getDevToolsRpcClient as m, DevToolsClientContext as n, DockEntryStateEvents as o, DevToolsRpcClientOptions as p, DevToolsClientRpcHost as r, DockPanelStorage as s, DockClientScriptContext as t, DocksPanelContext as u, EntriesToObject as v, DevToolsNodeUtils as w, ConnectionMeta as x, Thenable as y };
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { A as DevToolsDockHost, C as DevToolsNodeContext, D as DevToolsDockEntry, E as ClientScriptEntry, F as EntriesToObject, I as Thenable, L as DevToolsRpcClientFunctions, M as DevToolsViewCustomRender, N as DevToolsViewHost, O as DevToolsDockEntryBase, P as DevToolsViewIframe, R as DevToolsRpcServerFunctions, S as DevToolsCapabilities, T as DevToolsPluginOptions, _ as RpcFunctionDefinition, b as RpcFunctionsHost, f as PluginWithDevTools, g as RpcDefinitionsToFunctions, h as RpcDefinitionsFilter, j as DevToolsViewAction, k as DevToolsDockEntryCategory, m as BirpcReturn, p as BirpcFn, v as RpcFunctionSetupResult, w as DevToolsNodeUtils, x as ConnectionMeta, y as RpcFunctionType } from "./index-Bf_5llis.mjs";
1
+ import { A as DevToolsDockHost, C as DevToolsNodeContext, D as DevToolsDockEntry, E as ClientScriptEntry, F as DevToolsRpcClientFunctions, I as DevToolsRpcServerFunctions, M as DevToolsViewCustomRender, N as DevToolsViewHost, O as DevToolsDockEntryBase, P as DevToolsViewIframe, S as DevToolsCapabilities, T as DevToolsPluginOptions, _ as PluginWithDevTools, b as RpcFunctionsHost, g as RpcDefinitionsToFunctions, h as RpcDefinitionsFilter, j as DevToolsViewAction, k as DevToolsDockEntryCategory, v as EntriesToObject, w as DevToolsNodeUtils, x as ConnectionMeta, y as Thenable } from "./index-C-bl_jKJ.mjs";
2
2
  import * as birpc_x0 from "birpc-x";
3
3
 
4
4
  //#region src/utils/rpc.d.ts
5
- declare const defineRpcFunction: <NAME extends string, TYPE extends birpc_x0.RpcFunctionType, ARGS extends any[], RETURN = void>(definition: birpc_x0.RpcFunctionDefinition<NAME, TYPE, ARGS, RETURN, DevToolsNodeContext>) => birpc_x0.RpcFunctionDefinition<NAME, TYPE, ARGS, RETURN, DevToolsNodeContext>;
5
+ declare const defineRpcFunction: <NAME extends string, TYPE extends birpc_x0.RpcFunctionType, ARGS$1 extends any[], RETURN$1 = void>(definition: birpc_x0.RpcFunctionDefinition<NAME, TYPE, ARGS$1, RETURN$1, DevToolsNodeContext>) => birpc_x0.RpcFunctionDefinition<NAME, TYPE, ARGS$1, RETURN$1, DevToolsNodeContext>;
6
6
  //#endregion
7
- export { BirpcFn, BirpcReturn, ClientScriptEntry, ConnectionMeta, DevToolsCapabilities, DevToolsDockEntry, DevToolsDockEntryBase, DevToolsDockEntryCategory, DevToolsDockHost, DevToolsNodeContext, DevToolsNodeUtils, DevToolsPluginOptions, DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, DevToolsViewAction, DevToolsViewCustomRender, DevToolsViewHost, DevToolsViewIframe, EntriesToObject, PluginWithDevTools, RpcDefinitionsFilter, RpcDefinitionsToFunctions, RpcFunctionDefinition, RpcFunctionSetupResult, RpcFunctionType, RpcFunctionsHost, Thenable, defineRpcFunction };
7
+ export { ClientScriptEntry, ConnectionMeta, DevToolsCapabilities, DevToolsDockEntry, DevToolsDockEntryBase, DevToolsDockEntryCategory, DevToolsDockHost, DevToolsNodeContext, DevToolsNodeUtils, DevToolsPluginOptions, DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, DevToolsViewAction, DevToolsViewCustomRender, DevToolsViewHost, DevToolsViewIframe, EntriesToObject, PluginWithDevTools, RpcDefinitionsFilter, RpcDefinitionsToFunctions, RpcFunctionsHost, Thenable, defineRpcFunction };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitejs/devtools-kit",
3
3
  "type": "module",
4
- "version": "0.0.0-alpha.16",
4
+ "version": "0.0.0-alpha.17",
5
5
  "description": "Vite DevTools Kit",
6
6
  "author": "VoidZero Inc.",
7
7
  "license": "MIT",
@@ -33,10 +33,10 @@
33
33
  "vite": "*"
34
34
  },
35
35
  "dependencies": {
36
- "birpc": "^2.7.0",
37
- "birpc-x": "0.0.1",
36
+ "birpc": "^2.8.0",
37
+ "birpc-x": "0.0.5",
38
38
  "nanoevents": "^9.1.0",
39
- "@vitejs/devtools-rpc": "0.0.0-alpha.16"
39
+ "@vitejs/devtools-rpc": "0.0.0-alpha.17"
40
40
  },
41
41
  "devDependencies": {
42
42
  "tsdown": "^0.16.1",