@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 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-BMTnY3zc.js";
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
  });
@@ -1,4 +1,4 @@
1
- import { k as DevToolsDocksUserSettings } from "./index-BMTnY3zc.js";
1
+ import { k as DevToolsDocksUserSettings } from "./index-4e97aGO_.js";
2
2
 
3
3
  //#region src/constants.d.ts
4
4
  declare const DEVTOOLS_MOUNT_PATH = "/.devtools/";
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
- * Shortcut overrides (persisted via shared state)
840
+ * User settings store (persisted, includes command shortcuts)
840
841
  */
841
- shortcutOverrides: SharedState<DevToolsCommandShortcutOverrides>;
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-BMTnY3zc.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-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.9",
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.9"
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