@vitejs/devtools-kit 0.1.9 → 0.1.11
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 +1 -1
- package/dist/client.js +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +2 -1
- package/dist/{index-BMTnY3zc.d.ts → index-4e97aGO_.d.ts} +3 -2
- package/dist/index.d.ts +1 -1
- package/package.json +2 -2
- package/skills/vite-devtools-kit/references/rpc-patterns.md +51 -0
package/dist/client.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { S as getDevToolsRpcClient, _ as DevToolsRpcClientCall, a as DevToolsClientContext, b as DevToolsRpcClientMode, c as DockEntryState, d as DocksContext, f as DocksEntriesContext, g as DevToolsRpcClient, h as WhenClauseContext, i as CommandsContext, l as DockEntryStateEvents, m as RpcClientEvents, n as getDevToolsClientContext, o as DevToolsClientRpcHost, p as DocksPanelContext, r as DockClientScriptContext, s as DockClientType, t as CLIENT_CONTEXT_KEY, u as DockPanelStorage, v as DevToolsRpcClientCallEvent, x as DevToolsRpcClientOptions, y as DevToolsRpcClientCallOptional } from "./index-
|
|
1
|
+
import { S as getDevToolsRpcClient, _ as DevToolsRpcClientCall, a as DevToolsClientContext, b as DevToolsRpcClientMode, c as DockEntryState, d as DocksContext, f as DocksEntriesContext, g as DevToolsRpcClient, h as WhenClauseContext, i as CommandsContext, l as DockEntryStateEvents, m as RpcClientEvents, n as getDevToolsClientContext, o as DevToolsClientRpcHost, p as DocksPanelContext, r as DockClientScriptContext, s as DockClientType, t as CLIENT_CONTEXT_KEY, u as DockPanelStorage, v as DevToolsRpcClientCallEvent, x as DevToolsRpcClientOptions, y as DevToolsRpcClientCallOptional } from "./index-4e97aGO_.js";
|
|
2
2
|
export { CLIENT_CONTEXT_KEY, CommandsContext, DevToolsClientContext, DevToolsClientRpcHost, DevToolsRpcClient, DevToolsRpcClientCall, DevToolsRpcClientCallEvent, DevToolsRpcClientCallOptional, DevToolsRpcClientMode, DevToolsRpcClientOptions, DockClientScriptContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, RpcClientEvents, WhenClauseContext, getDevToolsClientContext, getDevToolsRpcClient };
|
package/dist/client.js
CHANGED
|
@@ -61,7 +61,7 @@ function createRpcSharedStateClientHost(rpc) {
|
|
|
61
61
|
if (options?.initialValue !== void 0) {
|
|
62
62
|
sharedState.set(key, state);
|
|
63
63
|
rpc.call("devtoolskit:internal:rpc:server-state:get", key).then((serverState) => {
|
|
64
|
-
state.mutate(() => serverState);
|
|
64
|
+
if (serverState !== void 0) state.mutate(() => serverState);
|
|
65
65
|
}).catch((error) => {
|
|
66
66
|
console.error("Error getting server state", error);
|
|
67
67
|
});
|
package/dist/constants.d.ts
CHANGED
package/dist/constants.js
CHANGED
|
@@ -22,7 +22,8 @@ const DEFAULT_STATE_USER_SETTINGS = () => ({
|
|
|
22
22
|
docksPinned: [],
|
|
23
23
|
docksCustomOrder: {},
|
|
24
24
|
showIframeAddressBar: false,
|
|
25
|
-
closeOnOutsideClick: false
|
|
25
|
+
closeOnOutsideClick: false,
|
|
26
|
+
commandShortcuts: {}
|
|
26
27
|
});
|
|
27
28
|
//#endregion
|
|
28
29
|
export { DEFAULT_CATEGORIES_ORDER, DEFAULT_STATE_USER_SETTINGS, DEVTOOLS_CONNECTION_META_FILENAME, DEVTOOLS_DIRNAME, DEVTOOLS_DOCK_IMPORTS_FILENAME, DEVTOOLS_DOCK_IMPORTS_VIRTUAL_ID, DEVTOOLS_MOUNT_PATH, DEVTOOLS_MOUNT_PATH_NO_TRAILING_SLASH, DEVTOOLS_RPC_DUMP_DIRNAME, DEVTOOLS_RPC_DUMP_MANIFEST_FILENAME };
|
|
@@ -617,6 +617,7 @@ interface DevToolsDocksUserSettings {
|
|
|
617
617
|
docksCustomOrder: Record<string, number>;
|
|
618
618
|
showIframeAddressBar: boolean;
|
|
619
619
|
closeOnOutsideClick: boolean;
|
|
620
|
+
commandShortcuts: DevToolsCommandShortcutOverrides;
|
|
620
621
|
}
|
|
621
622
|
//#endregion
|
|
622
623
|
//#region src/types/utils.d.ts
|
|
@@ -836,9 +837,9 @@ interface CommandsContext {
|
|
|
836
837
|
*/
|
|
837
838
|
getKeybindings: (id: string) => DevToolsCommandKeybinding[];
|
|
838
839
|
/**
|
|
839
|
-
*
|
|
840
|
+
* User settings store (persisted, includes command shortcuts)
|
|
840
841
|
*/
|
|
841
|
-
|
|
842
|
+
settings: SharedState<DevToolsDocksUserSettings>;
|
|
842
843
|
/**
|
|
843
844
|
* Whether the command palette is open
|
|
844
845
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as EventUnsubscribe, r as EventsMap, t as EventEmitter } from "./events-BTCXlxeC.js";
|
|
2
|
-
import { $ as DevToolsDockEntriesGrouped, A as DevToolsNodeRpcSession, At as DevToolsLogFilePosition, B as DevToolsPluginOptions, C as RpcDefinitionsFilter, Ct as DevToolsCommandsHostEvents, D as PartialWithoutId, Dt as DevToolsLogEntry, E as EntriesToObject, Et as DevToolsLogElementPosition, F as RpcSharedStateHost, G as DevToolsTerminalSession, H as DevToolsChildProcessExecuteOptions, I as ConnectionMeta, J as DevToolsTerminalStatus, K as DevToolsTerminalSessionBase, L as DevToolsCapabilities, M as RpcBroadcastOptions, Mt as DevToolsLogLevel, N as RpcFunctionsHost, Nt as DevToolsLogsClient, O as Thenable, Ot as DevToolsLogEntryFrom, P as RpcSharedStateGetOptions, Pt as DevToolsLogsHost, Q as ClientScriptEntry, R as DevToolsNodeContext, St as DevToolsCommandsHost, T as PluginWithDevTools, Tt as DevToolsServerCommandInput, U as DevToolsChildProcessTerminalSession, V as DevToolsViewHost, W as DevToolsTerminalHost, X as DevToolsRpcServerFunctions, Y as DevToolsRpcClientFunctions, Z as DevToolsRpcSharedStates, _t as DevToolsCommandBase, at as DevToolsDockUserEntry, bt as DevToolsCommandKeybinding, ct as DevToolsViewCustomRender, dt as DevToolsViewLauncher, et as DevToolsDockEntry, ft as DevToolsViewLauncherStatus, gt as DevToolsClientCommand, ht as JsonRenderer, it as DevToolsDockHost, j as DevToolsNodeRpcSessionMeta, jt as DevToolsLogHandle, k as DevToolsDocksUserSettings, kt as DevToolsLogEntryInput, lt as DevToolsViewIframe, mt as JsonRenderSpec, nt as DevToolsDockEntryCategory, ot as DevToolsViewAction, pt as JsonRenderElement, q as DevToolsTerminalSessionStreamChunkEvent, rt as DevToolsDockEntryIcon, st as DevToolsViewBuiltin, tt as DevToolsDockEntryBase, ut as DevToolsViewJsonRender, vt as DevToolsCommandEntry, w as RpcDefinitionsToFunctions, wt as DevToolsServerCommandEntry, xt as DevToolsCommandShortcutOverrides, yt as DevToolsCommandHandle, z as DevToolsNodeUtils } from "./index-
|
|
2
|
+
import { $ as DevToolsDockEntriesGrouped, A as DevToolsNodeRpcSession, At as DevToolsLogFilePosition, B as DevToolsPluginOptions, C as RpcDefinitionsFilter, Ct as DevToolsCommandsHostEvents, D as PartialWithoutId, Dt as DevToolsLogEntry, E as EntriesToObject, Et as DevToolsLogElementPosition, F as RpcSharedStateHost, G as DevToolsTerminalSession, H as DevToolsChildProcessExecuteOptions, I as ConnectionMeta, J as DevToolsTerminalStatus, K as DevToolsTerminalSessionBase, L as DevToolsCapabilities, M as RpcBroadcastOptions, Mt as DevToolsLogLevel, N as RpcFunctionsHost, Nt as DevToolsLogsClient, O as Thenable, Ot as DevToolsLogEntryFrom, P as RpcSharedStateGetOptions, Pt as DevToolsLogsHost, Q as ClientScriptEntry, R as DevToolsNodeContext, St as DevToolsCommandsHost, T as PluginWithDevTools, Tt as DevToolsServerCommandInput, U as DevToolsChildProcessTerminalSession, V as DevToolsViewHost, W as DevToolsTerminalHost, X as DevToolsRpcServerFunctions, Y as DevToolsRpcClientFunctions, Z as DevToolsRpcSharedStates, _t as DevToolsCommandBase, at as DevToolsDockUserEntry, bt as DevToolsCommandKeybinding, ct as DevToolsViewCustomRender, dt as DevToolsViewLauncher, et as DevToolsDockEntry, ft as DevToolsViewLauncherStatus, gt as DevToolsClientCommand, ht as JsonRenderer, it as DevToolsDockHost, j as DevToolsNodeRpcSessionMeta, jt as DevToolsLogHandle, k as DevToolsDocksUserSettings, kt as DevToolsLogEntryInput, lt as DevToolsViewIframe, mt as JsonRenderSpec, nt as DevToolsDockEntryCategory, ot as DevToolsViewAction, pt as JsonRenderElement, q as DevToolsTerminalSessionStreamChunkEvent, rt as DevToolsDockEntryIcon, st as DevToolsViewBuiltin, tt as DevToolsDockEntryBase, ut as DevToolsViewJsonRender, vt as DevToolsCommandEntry, w as RpcDefinitionsToFunctions, wt as DevToolsServerCommandEntry, xt as DevToolsCommandShortcutOverrides, yt as DevToolsCommandHandle, z as DevToolsNodeUtils } from "./index-4e97aGO_.js";
|
|
3
3
|
import { t as WhenContext } from "./when-snfIizvo.js";
|
|
4
4
|
import * as _vitejs_devtools_rpc0 from "@vitejs/devtools-rpc";
|
|
5
5
|
|
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.11",
|
|
5
5
|
"description": "Vite DevTools Kit",
|
|
6
6
|
"author": "VoidZero Inc.",
|
|
7
7
|
"license": "MIT",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"birpc": "^4.0.0",
|
|
42
42
|
"ohash": "^2.0.11",
|
|
43
|
-
"@vitejs/devtools-rpc": "0.1.
|
|
43
|
+
"@vitejs/devtools-rpc": "0.1.11"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"human-id": "^4.1.3",
|
|
@@ -85,6 +85,57 @@ defineRpcFunction({
|
|
|
85
85
|
})
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
+
## Sharing State Across RPC Functions
|
|
89
|
+
|
|
90
|
+
When multiple RPC functions need shared plugin state (manager instances, options, cached data), use a `WeakMap<DevToolsNodeContext, T>` with get/set helpers instead of mutating the context object:
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
// src/node/rpc/context.ts
|
|
94
|
+
import type { DevToolsNodeContext } from '@vitejs/devtools-kit'
|
|
95
|
+
|
|
96
|
+
interface MyPluginContext {
|
|
97
|
+
dataDir: string
|
|
98
|
+
manager: DataManager
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const pluginContext = new WeakMap<DevToolsNodeContext, MyPluginContext>()
|
|
102
|
+
|
|
103
|
+
export function getPluginContext(ctx: DevToolsNodeContext): MyPluginContext {
|
|
104
|
+
const value = pluginContext.get(ctx)
|
|
105
|
+
if (!value)
|
|
106
|
+
throw new Error('Plugin context not initialized')
|
|
107
|
+
return value
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export function setPluginContext(ctx: DevToolsNodeContext, value: MyPluginContext) {
|
|
111
|
+
pluginContext.set(ctx, value)
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Initialize in plugin setup, access in RPC functions:
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
// Plugin setup
|
|
119
|
+
devtools: {
|
|
120
|
+
setup(ctx) {
|
|
121
|
+
setPluginContext(ctx, { dataDir: resolve(ctx.cwd, 'data'), manager: new DataManager() })
|
|
122
|
+
rpcFunctions.forEach(fn => ctx.rpc.register(fn))
|
|
123
|
+
},
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// RPC function
|
|
127
|
+
const getData = defineRpcFunction({
|
|
128
|
+
name: 'my-plugin:get-data',
|
|
129
|
+
type: 'query',
|
|
130
|
+
setup: (ctx) => {
|
|
131
|
+
const { manager } = getPluginContext(ctx)
|
|
132
|
+
return {
|
|
133
|
+
handler: async () => manager.getData(),
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
})
|
|
137
|
+
```
|
|
138
|
+
|
|
88
139
|
## Broadcasting Patterns
|
|
89
140
|
|
|
90
141
|
### Basic Broadcast
|