@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 +2 -2
- package/dist/client.js +10 -1
- package/dist/constants.d.ts +1 -1
- package/dist/{index-WxzZW3L-.d.ts → index-DryCMVBy.d.ts} +8 -1
- package/dist/index.d.ts +1 -1
- package/package.json +2 -2
- package/skills/vite-devtools-kit/SKILL.md +13 -0
- package/skills/vite-devtools-kit/references/project-structure.md +9 -0
- package/skills/vite-devtools-kit/references/rpc-patterns.md +15 -0
- package/skills/vite-devtools-kit/references/shared-state-patterns.md +12 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as
|
|
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 };
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|