@vitejs/devtools-kit 0.1.2 → 0.1.3

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.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as DevToolsRpcClientOptions, a as DockEntryState, c as DocksContext, d as RpcClientEvents, f as DevToolsRpcClient, g as DevToolsRpcClientMode, h as DevToolsRpcClientCallOptional, i as DockClientType, l as DocksEntriesContext, m as DevToolsRpcClientCallEvent, n as DevToolsClientContext, o as DockEntryStateEvents, p as DevToolsRpcClientCall, r as DevToolsClientRpcHost, s as DockPanelStorage, t as DockClientScriptContext, u as DocksPanelContext, v as getDevToolsRpcClient } from "./index-WxzZW3L-.js";
2
- export { DevToolsClientContext, DevToolsClientRpcHost, DevToolsRpcClient, DevToolsRpcClientCall, DevToolsRpcClientCallEvent, DevToolsRpcClientCallOptional, DevToolsRpcClientMode, DevToolsRpcClientOptions, DockClientScriptContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, RpcClientEvents, getDevToolsRpcClient };
1
+ import { _ as DevToolsRpcClientCallOptional, a as DevToolsClientRpcHost, b as getDevToolsRpcClient, c as DockEntryStateEvents, d as DocksEntriesContext, f as DocksPanelContext, g as DevToolsRpcClientCallEvent, h as DevToolsRpcClientCall, i as DevToolsClientContext, l as DockPanelStorage, m as DevToolsRpcClient, n as getDevToolsClientContext, o as DockClientType, p as RpcClientEvents, r as DockClientScriptContext, s as DockEntryState, t as CLIENT_CONTEXT_KEY, u as DocksContext, v as DevToolsRpcClientMode, y as DevToolsRpcClientOptions } from "./index-DryCMVBy.js";
2
+ export { CLIENT_CONTEXT_KEY, DevToolsClientContext, DevToolsClientRpcHost, DevToolsRpcClient, DevToolsRpcClientCall, DevToolsRpcClientCallEvent, DevToolsRpcClientCallOptional, DevToolsRpcClientMode, DevToolsRpcClientOptions, DockClientScriptContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, RpcClientEvents, getDevToolsClientContext, getDevToolsRpcClient };
package/dist/client.js CHANGED
@@ -5,6 +5,15 @@ import { createSharedState } from "./utils/shared-state.js";
5
5
  import { RpcFunctionsCollectorBase } from "@vitejs/devtools-rpc";
6
6
  import { createRpcClient } from "@vitejs/devtools-rpc/client";
7
7
  import { createWsRpcPreset } from "@vitejs/devtools-rpc/presets/ws/client";
8
+ //#region src/client/context.ts
9
+ const CLIENT_CONTEXT_KEY = "__VITE_DEVTOOLS_CLIENT_CONTEXT__";
10
+ /**
11
+ * Get the global DevTools client context, or `undefined` if not yet initialized.
12
+ */
13
+ function getDevToolsClientContext() {
14
+ return globalThis[CLIENT_CONTEXT_KEY];
15
+ }
16
+ //#endregion
8
17
  //#region src/client/rpc-shared-state.ts
9
18
  function createRpcSharedStateClientHost(rpc) {
10
19
  const sharedState = /* @__PURE__ */ new Map();
@@ -1749,4 +1758,4 @@ async function getDevToolsRpcClient(options = {}) {
1749
1758
  return rpc;
1750
1759
  }
1751
1760
  //#endregion
1752
- export { getDevToolsRpcClient };
1761
+ export { CLIENT_CONTEXT_KEY, getDevToolsClientContext, getDevToolsRpcClient };
@@ -1,4 +1,4 @@
1
- import { T as DevToolsDocksUserSettings } from "./index-WxzZW3L-.js";
1
+ import { D as DevToolsDocksUserSettings } from "./index-DryCMVBy.js";
2
2
  //#region src/constants.d.ts
3
3
  declare const DEVTOOLS_MOUNT_PATH = "/.devtools/";
4
4
  declare const DEVTOOLS_MOUNT_PATH_NO_TRAILING_SLASH = "/.devtools";
@@ -676,4 +676,11 @@ interface DockClientScriptContext extends DocksContext {
676
676
  logs: DevToolsLogsClient;
677
677
  }
678
678
  //#endregion
679
- export { DevToolsDockEntryIcon as $, RpcSharedStateGetOptions as A, DevToolsTerminalHost as B, PartialWithoutId as C, DevToolsNodeRpcSessionMeta as D, DevToolsNodeRpcSession as E, DevToolsNodeUtils as F, DevToolsRpcClientFunctions as G, DevToolsTerminalSessionBase as H, DevToolsPluginOptions as I, ClientScriptEntry as J, DevToolsRpcServerFunctions as K, DevToolsViewHost as L, ConnectionMeta as M, DevToolsCapabilities as N, RpcBroadcastOptions as O, DevToolsNodeContext as P, DevToolsDockEntryCategory as Q, DevToolsChildProcessExecuteOptions as R, EntriesToObject as S, DevToolsDocksUserSettings as T, DevToolsTerminalSessionStreamChunkEvent as U, DevToolsTerminalSession as V, DevToolsTerminalStatus as W, DevToolsDockEntry as X, DevToolsDockEntriesGrouped as Y, DevToolsDockEntryBase as Z, DevToolsRpcClientOptions as _, DevToolsLogHandle as _t, DockEntryState as a, DevToolsViewIframe as at, RpcDefinitionsToFunctions as b, DevToolsLogsHost as bt, DocksContext as c, DevToolsViewLauncherStatus as ct, RpcClientEvents as d, JsonRenderer as dt, DevToolsDockHost as et, DevToolsRpcClient as f, DevToolsLogElementPosition as ft, DevToolsRpcClientMode as g, DevToolsLogFilePosition as gt, DevToolsRpcClientCallOptional as h, DevToolsLogEntryInput as ht, DockClientType as i, DevToolsViewCustomRender as it, RpcSharedStateHost as j, RpcFunctionsHost as k, DocksEntriesContext as l, JsonRenderElement as lt, DevToolsRpcClientCallEvent as m, DevToolsLogEntryFrom as mt, DevToolsClientContext as n, DevToolsViewAction as nt, DockEntryStateEvents as o, DevToolsViewJsonRender as ot, DevToolsRpcClientCall as p, DevToolsLogEntry as pt, DevToolsRpcSharedStates as q, DevToolsClientRpcHost as r, DevToolsViewBuiltin as rt, DockPanelStorage as s, DevToolsViewLauncher as st, DockClientScriptContext as t, DevToolsDockUserEntry as tt, DocksPanelContext as u, JsonRenderSpec as ut, getDevToolsRpcClient as v, DevToolsLogLevel as vt, Thenable as w, PluginWithDevTools as x, RpcDefinitionsFilter as y, DevToolsLogsClient as yt, DevToolsChildProcessTerminalSession as z };
679
+ //#region src/client/context.d.ts
680
+ declare const CLIENT_CONTEXT_KEY = "__VITE_DEVTOOLS_CLIENT_CONTEXT__";
681
+ /**
682
+ * Get the global DevTools client context, or `undefined` if not yet initialized.
683
+ */
684
+ declare function getDevToolsClientContext(): DevToolsClientContext | undefined;
685
+ //#endregion
686
+ export { DevToolsDockEntryBase as $, RpcBroadcastOptions as A, DevToolsChildProcessExecuteOptions as B, PluginWithDevTools as C, DevToolsDocksUserSettings as D, Thenable as E, DevToolsCapabilities as F, DevToolsTerminalSessionStreamChunkEvent as G, DevToolsTerminalHost as H, DevToolsNodeContext as I, DevToolsRpcServerFunctions as J, DevToolsTerminalStatus as K, DevToolsNodeUtils as L, RpcSharedStateGetOptions as M, RpcSharedStateHost as N, DevToolsNodeRpcSession as O, ConnectionMeta as P, DevToolsDockEntry as Q, DevToolsPluginOptions as R, RpcDefinitionsToFunctions as S, DevToolsLogsHost as St, PartialWithoutId as T, DevToolsTerminalSession as U, DevToolsChildProcessTerminalSession as V, DevToolsTerminalSessionBase as W, ClientScriptEntry as X, DevToolsRpcSharedStates as Y, DevToolsDockEntriesGrouped as Z, DevToolsRpcClientCallOptional as _, DevToolsLogEntryInput as _t, DevToolsClientRpcHost as a, DevToolsViewBuiltin as at, getDevToolsRpcClient as b, DevToolsLogLevel as bt, DockEntryStateEvents as c, DevToolsViewJsonRender as ct, DocksEntriesContext as d, JsonRenderElement as dt, DevToolsDockEntryCategory as et, DocksPanelContext as f, JsonRenderSpec as ft, DevToolsRpcClientCallEvent as g, DevToolsLogEntryFrom as gt, DevToolsRpcClientCall as h, DevToolsLogEntry as ht, DevToolsClientContext as i, DevToolsViewAction as it, RpcFunctionsHost as j, DevToolsNodeRpcSessionMeta as k, DockPanelStorage as l, DevToolsViewLauncher as lt, DevToolsRpcClient as m, DevToolsLogElementPosition as mt, getDevToolsClientContext as n, DevToolsDockHost as nt, DockClientType as o, DevToolsViewCustomRender as ot, RpcClientEvents as p, JsonRenderer as pt, DevToolsRpcClientFunctions as q, DockClientScriptContext as r, DevToolsDockUserEntry as rt, DockEntryState as s, DevToolsViewIframe as st, CLIENT_CONTEXT_KEY as t, DevToolsDockEntryIcon as tt, DocksContext as u, DevToolsViewLauncherStatus as ut, DevToolsRpcClientMode as v, DevToolsLogFilePosition as vt, EntriesToObject as w, RpcDefinitionsFilter as x, DevToolsLogsClient as xt, DevToolsRpcClientOptions as y, DevToolsLogHandle as yt, DevToolsViewHost as z };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as EventUnsubscribe, r as EventsMap, t as EventEmitter } from "./events-B41U-zeg.js";
2
- import { $ as DevToolsDockEntryIcon, A as RpcSharedStateGetOptions, B as DevToolsTerminalHost, C as PartialWithoutId, D as DevToolsNodeRpcSessionMeta, E as DevToolsNodeRpcSession, F as DevToolsNodeUtils, G as DevToolsRpcClientFunctions, H as DevToolsTerminalSessionBase, I as DevToolsPluginOptions, J as ClientScriptEntry, K as DevToolsRpcServerFunctions, L as DevToolsViewHost, M as ConnectionMeta, N as DevToolsCapabilities, O as RpcBroadcastOptions, P as DevToolsNodeContext, Q as DevToolsDockEntryCategory, R as DevToolsChildProcessExecuteOptions, S as EntriesToObject, T as DevToolsDocksUserSettings, U as DevToolsTerminalSessionStreamChunkEvent, V as DevToolsTerminalSession, W as DevToolsTerminalStatus, X as DevToolsDockEntry, Y as DevToolsDockEntriesGrouped, Z as DevToolsDockEntryBase, _t as DevToolsLogHandle, at as DevToolsViewIframe, b as RpcDefinitionsToFunctions, bt as DevToolsLogsHost, ct as DevToolsViewLauncherStatus, dt as JsonRenderer, et as DevToolsDockHost, ft as DevToolsLogElementPosition, gt as DevToolsLogFilePosition, ht as DevToolsLogEntryInput, it as DevToolsViewCustomRender, j as RpcSharedStateHost, k as RpcFunctionsHost, lt as JsonRenderElement, mt as DevToolsLogEntryFrom, nt as DevToolsViewAction, ot as DevToolsViewJsonRender, pt as DevToolsLogEntry, q as DevToolsRpcSharedStates, rt as DevToolsViewBuiltin, st as DevToolsViewLauncher, tt as DevToolsDockUserEntry, ut as JsonRenderSpec, vt as DevToolsLogLevel, w as Thenable, x as PluginWithDevTools, y as RpcDefinitionsFilter, yt as DevToolsLogsClient, z as DevToolsChildProcessTerminalSession } from "./index-WxzZW3L-.js";
2
+ import { $ as DevToolsDockEntryBase, A as RpcBroadcastOptions, B as DevToolsChildProcessExecuteOptions, C as PluginWithDevTools, D as DevToolsDocksUserSettings, E as Thenable, F as DevToolsCapabilities, G as DevToolsTerminalSessionStreamChunkEvent, H as DevToolsTerminalHost, I as DevToolsNodeContext, J as DevToolsRpcServerFunctions, K as DevToolsTerminalStatus, L as DevToolsNodeUtils, M as RpcSharedStateGetOptions, N as RpcSharedStateHost, O as DevToolsNodeRpcSession, P as ConnectionMeta, Q as DevToolsDockEntry, R as DevToolsPluginOptions, S as RpcDefinitionsToFunctions, St as DevToolsLogsHost, T as PartialWithoutId, U as DevToolsTerminalSession, V as DevToolsChildProcessTerminalSession, W as DevToolsTerminalSessionBase, X as ClientScriptEntry, Y as DevToolsRpcSharedStates, Z as DevToolsDockEntriesGrouped, _t as DevToolsLogEntryInput, at as DevToolsViewBuiltin, bt as DevToolsLogLevel, ct as DevToolsViewJsonRender, dt as JsonRenderElement, et as DevToolsDockEntryCategory, ft as JsonRenderSpec, gt as DevToolsLogEntryFrom, ht as DevToolsLogEntry, it as DevToolsViewAction, j as RpcFunctionsHost, k as DevToolsNodeRpcSessionMeta, lt as DevToolsViewLauncher, mt as DevToolsLogElementPosition, nt as DevToolsDockHost, ot as DevToolsViewCustomRender, pt as JsonRenderer, q as DevToolsRpcClientFunctions, rt as DevToolsDockUserEntry, st as DevToolsViewIframe, tt as DevToolsDockEntryIcon, ut as DevToolsViewLauncherStatus, vt as DevToolsLogFilePosition, w as EntriesToObject, x as RpcDefinitionsFilter, xt as DevToolsLogsClient, yt as DevToolsLogHandle, z as DevToolsViewHost } from "./index-DryCMVBy.js";
3
3
  import * as _vitejs_devtools_rpc0 from "@vitejs/devtools-rpc";
4
4
 
5
5
  //#region src/utils/define.d.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitejs/devtools-kit",
3
3
  "type": "module",
4
- "version": "0.1.2",
4
+ "version": "0.1.3",
5
5
  "description": "Vite DevTools Kit",
6
6
  "author": "VoidZero Inc.",
7
7
  "license": "MIT",
@@ -38,7 +38,7 @@
38
38
  "dependencies": {
39
39
  "birpc": "^4.0.0",
40
40
  "immer": "^11.1.4",
41
- "@vitejs/devtools-rpc": "0.1.2"
41
+ "@vitejs/devtools-rpc": "0.1.3"
42
42
  },
43
43
  "devDependencies": {
44
44
  "tsdown": "^0.21.2",
@@ -360,6 +360,19 @@ export default function setup(ctx: DevToolsClientScriptContext) {
360
360
  }
361
361
  ```
362
362
 
363
+ ## Client Context
364
+
365
+ The global client context (`DevToolsClientContext`) provides access to the RPC client and is set automatically when DevTools initializes (embedded or standalone). Use `getDevToolsClientContext()` to access it from anywhere on the client side:
366
+
367
+ ```ts
368
+ import { getDevToolsClientContext } from '@vitejs/devtools-kit/client'
369
+
370
+ const ctx = getDevToolsClientContext()
371
+ if (ctx) {
372
+ const modules = await ctx.rpc.call('my-plugin:get-modules')
373
+ }
374
+ ```
375
+
363
376
  ### Broadcasting to Clients
364
377
 
365
378
  ```ts
@@ -187,6 +187,15 @@ export function useRpc() {
187
187
  }
188
188
  ```
189
189
 
190
+ Alternatively, use `getDevToolsClientContext()` to access the global client context synchronously (returns `undefined` if not yet initialized):
191
+
192
+ ```ts
193
+ import { getDevToolsClientContext } from '@vitejs/devtools-kit/client'
194
+
195
+ const ctx = getDevToolsClientContext()
196
+ // ctx?.rpc is the DevToolsRpcClient
197
+ ```
198
+
190
199
  ## Client App Component (src/client/App.vue)
191
200
 
192
201
  ```vue
@@ -119,6 +119,21 @@ ctx.rpc.broadcast({
119
119
  })
120
120
  ```
121
121
 
122
+ ## Global Client Context
123
+
124
+ Use `getDevToolsClientContext()` to access the client context (`DevToolsClientContext`) globally. Returns `undefined` if the context has not been initialized yet.
125
+
126
+ ```ts
127
+ import { getDevToolsClientContext } from '@vitejs/devtools-kit/client'
128
+
129
+ const ctx = getDevToolsClientContext()
130
+ if (ctx) {
131
+ await ctx.rpc.call('my-plugin:get-modules')
132
+ }
133
+ ```
134
+
135
+ This is set automatically when DevTools initializes in embedded or standalone mode. For iframe pages, `getDevToolsRpcClient()` is still the recommended way to get the RPC client directly.
136
+
122
137
  ## Client Function Registration
123
138
 
124
139
  ```ts
@@ -33,7 +33,7 @@ state.mutate((draft) => {
33
33
  import { getDevToolsRpcClient } from '@vitejs/devtools-kit/client'
34
34
 
35
35
  const client = await getDevToolsRpcClient()
36
- const state = await client.rpc.sharedState.get('my-plugin:state')
36
+ const state = await client.sharedState.get('my-plugin:state')
37
37
 
38
38
  // Read
39
39
  console.log(state.value())
@@ -44,6 +44,17 @@ state.on('updated', (newState) => {
44
44
  })
45
45
  ```
46
46
 
47
+ You can also access shared state through the global client context:
48
+
49
+ ```ts
50
+ import { getDevToolsClientContext } from '@vitejs/devtools-kit/client'
51
+
52
+ const ctx = getDevToolsClientContext()
53
+ if (ctx) {
54
+ const state = await ctx.rpc.sharedState.get('my-plugin:state')
55
+ }
56
+ ```
57
+
47
58
  ## Type-Safe Shared State
48
59
 
49
60
  ```ts